http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5630|回复: 5

[求助] 关于header中Expect的疑问

[复制链接]
发表于 2016-11-16 20:37:38 | 显示全部楼层 |阅读模式
最近遇到个很奇怪的问题,在使用时header中我没有添加 Expect,但在抓包中发现会多出这个属性。
请问如何去掉他


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-11-17 08:33:50 | 显示全部楼层
item.Expect100Continue 把这个属性的值修改一上应该就行了。
发表于 2016-11-17 08:34:33 | 显示全部楼层
小知识
Expect请求头部域,用于指出客户端要求的特殊服务器行为。若服务器不能理解或者满足
Expect域中的任何期望值,则必须返回417(Expectation Failed)状态,或者如果请求
有其他问题,返回4xx状态。
这个头部域使用可扩展语法定义,以方便将来扩展。如果服务器收到包含Expect头部域的
请求且包含一个它不支持的期望值扩展,则必须返回417(Expectation Failed)状态。
期望值的比较,对于非引用符号(包括100-continue)是大小写无关的,对于引用字符串
的期望值扩展,则是大小写敏感的。
Expect域的机制是逐跳进行的,也就是说如果一个代理服务器收到包含不能满足的期望
的请求时,必须返回417(Expectation Failed)状态。而Expect请求头部域自身,
却是端到端的,如果请求被转发,则它也必须被转发。
很多旧的HTTP/1.0和HTTP/1.1应用不支持Expect头部。
到这里,基本明白了为什么会出现这样的错误,说明代码最后生成的HTTP请求,包含了服务器不能处理的Expect头部,到底是什么?装上Wireshark,监听一下请求内容,发现出现异常时的请求中的Expect头部是这样的:Expect:100-Continue,难道是它引起的?继续查……

对于Expect:100-Continue,HttpClient的官方文档是这样描述的:

The purpose of the Expect: 100-Continue handshake is to allow the client that
is sending a request message with a request body to determine if the origin
server is willing to accept the request (based on the request headers) before
the client sends the request body.
Expect: 100-continue handshake should be used with caution, as it may cause
problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.
大意如下:

Expect:100-Continue握手的目的,是为了允许客户端在发送请求内容之前,判断源服务器是否愿意接受
请求(基于请求头部)。
Expect:100-Continue握手需谨慎使用,因为遇到不支持HTTP/1.1协议的服务器或者代理时会引起问题。
而HttpClient 4.0中,是否激活Expect:100-Continue,是由HTTP请求执行参数http.protocol.expect-continue来控制的,通过设置参数值为true或者false,可以相应的激活或者关闭Expect:100-Continue握手。注意,在HttpClient中,默认是激活的
 楼主| 发表于 2016-11-22 16:09:08 | 显示全部楼层
站长苏飞 发表于 2016-11-17 08:34
小知识
Expect请求头部域,用于指出客户端要求的特殊服务器行为。若服务器不能理解或者满足
Expect域中的 ...

已经解决了,谢谢
发表于 2016-11-29 17:03:07 | 显示全部楼层
强烈支持楼主ing……
发表于 2017-3-2 23:56:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-26 14:18

© 2014-2021

快速回复 返回顶部 返回列表