【发布时间】:2017-09-22 20:51:56
【问题描述】:
TLDR:有没有办法强制 OkHttp 正确处理意外/未请求的 100 Continue HTTP 响应?
我在 Android 上使用 OkHttp 3.8.1 发布到行为不佳的服务器。
即使请求不包含“Expect: 100-continue”标头,Web 服务器也会返回 100 Continue 响应。 OkHttp 没有继续发送请求正文,然后得到实际的 (200) 响应,而是停在那里并在我的 okhttp.Callback 中发回 100 Continue 响应。
我尝试在请求中明确包含“期望:100-继续”以触发 OkHttp 的逻辑,但服务器(可能由于某些错误)声称标头格式错误并拒绝请求。我也尝试发送“Expect:”(无值),但服务器仍然发送 100 Continue 响应,并且 OkHttp 停在那里。
其他 HTTP 客户端(到目前为止我已经测试了 3 个)可以与该服务器正常通信。他们正确处理了 100 Continue 响应,即使他们没有在请求标头中看到“Expect: 100-continue”。有没有我可以设置的选项,或者我可以编写的拦截器,让 OkHttp 做同样的事情?
【问题讨论】: