导航

HTTP协议中的except=100-continue

Posted on 2020-04-08 10:52  displaynick  阅读(1002)  评论(0编辑  收藏  举报

通过HttpWebRequest访问数据时,总是无法返回。最后通过抓包发现发送的HTTP包的头部有一个except=100-continue项。百度这个头信息,如下:

Expect 是一个请求消息头,包含一个期望条件,表示服务器只有在满足此期望条件的情况下才能妥善地处理请求。
规范中只规定了一个期望条件,即 Expect: 100-continue, 对此服务器可以做出如下回应:

100 如果消息头中的期望条件可以得到满足,使得请求可以顺利进行的话,
417 (Expectation Failed) 如果服务器不能满足期望条件的话;也可以是其他任意表示客户端错误的状态码(4xx)。

例如,如果请求中 Content-Length 的值太大的话,可能会遭到服务器的拒绝。
常见的浏览器不会发送 Expect 消息头,但是其他类型的客户端如cURL默认会这么做。

需要将这个头部信息移除,request.ServicePoint.Except100Continue = false即可。