android - okhttp:如何处理来自服务器的未请求/意外 100(继续)响应?

标签 android okhttp

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/

相关文章:

android - 如何合并一些可跨越的对象?

java - OkHttp 对请求启用/禁用 gzip 压缩

java - 如何在本地主机上配置 ssl 证书 dropwizard

android - 上传包含多个文件的 JSON 数组

android - 如何知道 Okhttp 响应的长度?

php - 未收到 OkHttp POST 正文

android - 使我的文本的特定部分可点击

java - pjsip 日志配置未显示 android

安卓 6.0+ : Method onRequestPermissionsResult not call

java - firebase addvalueeventlistener 未在一台设备中触发