当我尝试发布到URL时,将导致以下异常:
这是一个示例代码:
var client = new WebClient();
var postData = new NameValueCollection();
postData.Add("postParamName", "postParamValue");
byte[] responseBytes = client.UploadValues("http://...", postData);
string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed.
使用
HttpWebRequest/HttpWebResponse
对或HttpClient
并没有什么不同。是什么导致此异常?
最佳答案
System.Net.HttpWebRequest向每个请求添加 header “HTTP header “期望:100-继续””,除非您通过将this static property设置为false明确要求不要这样做:
System.Net.ServicePointManager.Expect100Continue = false;
一些服务器在该 header 上阻塞,然后将您看到的417错误发送回去。
试一试。
关于c# - HTTP POST返回错误: 417 “Expectation Failed.” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/566437/