如何解决HTTP POST 返回错误:417“预期失败”
System.Net.HttpWebRequest 向每个请求添加标头“HTTP 标头“期望:100-继续”,除非您通过将此静态属性设置为 false 明确要求不要这样做:
System.Net.ServicePointManager.Expect100Continue = false;
一些服务器在该标头上阻塞并发送回您看到的 417 错误。
试一试。
解决方法
当我尝试 POST 到 URL 时,会导致以下异常:
远程服务器返回错误:(417) 预期失败。
这是一个示例代码:
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
并没有什么不同。
是什么导致了这个异常?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。