通过HttpWebRequest访问数据时,总是无法返回。最后通过抓包发现发送的HTTP包的头部有一个except=100-continue项。百度这个头信息,如下:
Expect 是一个请求消息头,包含一个期望条件,表示服务器只有在满足此期望条件的情况下才能妥善地处理请求。
规范中只规定了一个期望条件,即 Expect: 100-continue, 对此服务器可以做出如下回应:100 如果消息头中的期望条件可以得到满足,使得请求可以顺利进行的话,
417 (Expectation Failed) 如果服务器不能满足期望条件的话;也可以是其他任意表示客户端错误的状态码(4xx)。例如,如果请求中 Content-Length 的值太大的话,可能会遭到服务器的拒绝。
常见的浏览器不会发送 Expect 消息头,但是其他类型的客户端如cURL默认会这么做。
需要将这个头部信息移除,request.ServicePoint.Except100Continue = false即可。