2017-09-22 260 views
3

TLDR:有没有办法强制OkHttp正确处理意外/未请求的100个继续HTTP响应?okhttp:如何处理来自服务器的未请求/意外100(继续)响应?

我在Android上使用OkHttp 3.8.1发布到性能较差的服务器。

即使请求中没有包含“Expect:100-continue”标头,Web服务器也会返回100个“继续”响应。 OkHttp不是继续发送请求主体,而是获得实际的(200)响应,然后在okhttp.Callback中返回100 Continue响应。

我试着明确地在请求中包含“Expect:100-continue”来触发OkHttp的逻辑,但服务器(可能是由于某个bug)宣称头是畸形的并拒绝了请求。我也尝试发送“Expect:”(没有值),但服务器仍然发送100 Continue响应,OkHttp停在那里。

其他HTTP客户端(到目前为止我测试了3个)可以和服务器通话。即使他们在请求标题中没有看到“Expect:100-continue”,它们仍能正确处理100 Continue响应。有没有我可以设置的选项,或者我可以写的拦截器,使OkHttp也可以做到这一点?

回答

3

听起来像我们可以在OkHttp中修复的东西。这很奇怪,服务器坏了,但是如果其他客户端处理它,OkHttp也应该如此。

请报告此处的错误?

+2

[完成](https://github.com/square/okhttp/issues/3628) –

相关问题