2017-09-22 5 views
3

TLDR:予期しない/要求されていない100のHTTP応答をOkHttpが正しく処理するようにする方法はありますか?okhttp:サーバーから未応答/予期しない100(続行)応答を処理する方法は?

私はAndroid上でOkHttp 3.8.1を使用して、動作の悪いサーバーにPOSTします。

要求に「Expect:100-continue」ヘッダーが含まれていない場合でも、Webサーバーは100 Continue応答を返します。リクエスト本体を送信し続け、実際の(200)レスポンスを取得する代わりに、OkHttpがそこで停止し、okhttp.Callbackで100 Continueレスポンスを返します。

OkHttpのロジックをトリガーするリクエストに「Expect:100-continue」を明示的に含めるようにしましたが、サーバーが(おそらくバグのために)ヘッダーが不正であり、リクエストを拒否していると主張します。私も "Expect:"(値なし)を送信しようとしましたが、サーバーはまだ100 Continue応答を送信し、OkHttpはそこで停止します。

他のHTTPクライアント(これまで3つのサーバをテストしました)は、そのサーバとうまく通信できます。リクエストヘッダーに「期待:100-continue」が表示されていないにもかかわらず、100 Continueレスポンスを正しく処理します。 OkHttpを同じようにするために、私が設定できるオプション、または私が書くことができるインターセプタがありますか?

答えて

3

OkHttpで修正できるもののようなサウンドです。これは奇妙で、サーバは壊れていますが、他のクライアントがそれを処理するなら、OkHttpもそうでなければなりません。

バグ報告がありますか?

+2

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