TLDR:有没有办法强制 OkHttp 正确处理意外/未请求的 100 Continue HTTP 响应?
我在 Android 上使用 OkHttp 3.8.1 发布到行为不佳的服务器。
即使请求不包含“Expect: 100-continue” header ,网络服务器也会返回 100 Continue 响应。 OkHttp 并没有继续发送请求主体,然后获得实际的 (200) 响应,而是停在那里并在我的 okhttp.Callback 中发回 100 Continue 响应。
我尝试在请求中明确包含“Expect: 100-continue”以触发 OkHttp 的逻辑,但服务器(可能由于某些错误)声称 header 格式错误并拒绝请求。我也尝试发送“Expect:”(无值),但服务器仍然发送 100 Continue 响应并且 OkHttp 停在那里。
其他 HTTP 客户端(到目前为止我已经测试了 3 个)可以很好地与该服务器通信。他们正确地处理了 100 Continue 响应,即使他们没有在请求 header 中看到“Expect: 100-continue”。有没有我可以设置的选项,或者我可以编写的拦截器,让 OkHttp 做同样的事情?
最佳答案
听起来像是我们可以在 OkHttp 中修复的东西。这很奇怪,服务器坏了,但如果其他客户端处理它,OkHttp 也应该处理。
请在那里报告错误?
关于android - okhttp:如何处理来自服务器的未请求/意外 100(继续)响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373023/