Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果未使用POST,则出现HTTP错误403_C#_Rest_Http - Fatal编程技术网

C# 如果未使用POST,则出现HTTP错误403

C# 如果未使用POST,则出现HTTP错误403,c#,rest,http,C#,Rest,Http,我正试图从c#winform应用程序通过REST发送protobuf数据。当我使用HTTP请求和POST方法(如下面的代码所示)时,它工作正常并返回“OK”状态 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://xxxxx.execute-api.eu-west-1.amazonaws.com/test/input"); request.Headers["Authorization"] = "xxxyyyzzz

我正试图从c#winform应用程序通过REST发送protobuf数据。当我使用HTTP请求和POST方法(如下面的代码所示)时,它工作正常并返回“OK”状态

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://xxxxx.execute-api.eu-west-1.amazonaws.com/test/input");
request.Headers["Authorization"] = "xxxyyyzzz"                                 
request.Method = "POST";
request.ContentType = "application/octet-stream";
byte[] bytes = System.IO.File.ReadAllBytes("C:\\MyProtobuf.proto");
request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)request.GetResponse();
                MessageBox.Show(myHttpWebResponse .StatusCode.ToString());
myHttpWebResponse .Close();
但若我只是想检查这个网站是否还活着,或者并没有使用下面的代码,它会给我403。禁止的错误

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://xxxxx.execute-api.eu-west-1.amazonaws.com/test/input");
request.Headers["Authorization"] = "xxxyyyzzz";
HttpWebResponse myHttpWebResponse = (HttpWebResponse)request.GetResponse();
MessageBox.Show(myHttpWebResponse .StatusCode.ToString());
myHttpWebResponse .Close();

此错误的可能原因是什么?

您的服务提供POST方法谓词,因此您必须使用POST方法调用此服务,否则您应该更改您的服务方法以支持get方法。

您的服务提供POST方法谓词,因此您必须使用POST方法调用此服务,否则,您应该更改服务方法以支持get方法。

该页面没有响应HTTP get请求错误的原因是您正在向需要POST请求的端点发送get请求。403确实告诉您该站点处于活动状态,但我不建议将其用作运行状况检查。该页面未响应HTTP Get请求错误的原因是您正在向需要POST请求的端点发送Get请求。403确实告诉您该站点处于活动状态,但我不建议将其用作健康检查。您能告诉我如何使用POST方法作为健康检查吗?POST和get之间没有区别,两者都是HTTP动词,您应该只将方法更改为POST如果您发送HTTP请求,则您的请求具有标头,在post方法中,您可以在请求正文中发送额外数据(这是可选的),但在get方法中,您应该通过url发送额外数据,因此您对可以发送的数据量有限制。您能告诉我如何使用post方法作为健康检查吗?post和get之间没有区别,两者都是HTTP动词,您应该只将方法更改为post,如果您发送一个http请求,并且您的请求有标头,那么在post方法中您可以在请求正文中添加额外的数据(这是可选的),但在get方法中,您应该通过url发送额外的数据,这样您就可以限制可以发送的数据量