HTTP 417 错误 Expectation Failed
|
freeflydom
2024年7月23日 8:55
本文热度 361
|
将数据导出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。
![](/files/attmgn/2024/7/freeflydom20240723085311925_0.jpg)
根据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大功告成!
以上内容转自https://blog.csdn.net/weixin_44741590/article/details/104817907
注意,修改为不限制会有安全隐患,不建议进行此操作。
该文章在 2024/7/23 9:51:37 编辑过