2017-09-22 266 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) –

相關問題