HTTP 417 错误 Expectation Failed

HTTP 417 错误 Expectation Failed

将数据导出Excel时(post请求),一次导出5000条数据不报错,导出6000时条报http417,查找网络得到:
这个异常源自HTTP1.1协议的一个规范:100(Continue)
允许客户端发request消息body之前先用request header试探一下server,看server要不要接收request body,再决定要不要发request body。
客户端在Request头部中包含Expect:100-continue,Server接到后 如果回100(Continue)这个状态代码,客户端就继续发request body。
解决办法:
向Header添加Expect:100-continue,如:
request.Headers.Add(“Expect”,“100-continue”);
添加之后,依然报http417。
HTTP 417 错误 Expectation Failed_第1张图片
根据100(Continue)解释,推测是post请求体过大造成的,我使用的容器是tomcat7.0.67,于是修改setting.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               maxPostSize="-1" //不限制
               URIEncoding="UTF-8"/>

apache-tomcat-7.0.63 开始,maxPostSize=-1表示不限制,重启tomcat大功告成!

你可能感兴趣的:(HTTP 417 错误 Expectation Failed)