2017-09-22 5 views
3

TLDR: Gibt es eine Möglichkeit, OKHttp zu erzwingen, um unerwartet/nicht angeforderte 100 korrekt zu behandeln? HTTP-Antworten fortsetzen?okhttp: wie unquested/unerwartete 100 (Fortsetzung) Antwort vom Server zu behandeln?

Ich benutze OkHttp 3.8.1 auf Android zu POST auf einem schlecht erzogenen Server.

Obwohl die Anforderung keinen Header "Expect: 100-continue" enthält, gibt der Webserver eine 100 Continue-Antwort zurück. Anstatt den Request Body weiter zu senden und dann die tatsächliche (200) Antwort zu erhalten, stoppt OkHttp dort und sendet die 100 Continue Response in meinem okhttp.Callback zurück.

Ich versuchte explizit "Expect: 100-continue" in der Anfrage OkHttp Logik auszulösen, aber der Server (möglicherweise aufgrund eines Fehlers) behauptet, der Header ist fehlerhaft und lehnt die Anfrage ab. Ich habe auch versucht, "Expect:" (kein Wert) zu senden, aber der Server sendet immer noch die 100 Continue-Antwort und OkHttp stoppt dort.

Andere HTTP-Clients (ich habe 3 bisher getestet) können mit diesem Server gut reden. Sie verarbeiten die 100 Continue-Antwort korrekt, obwohl sie im Anforderungsheader "Expect: 100-continue" nicht sehen konnten. Gibt es eine Option, die ich setzen kann, oder einen Interceptor, den ich schreiben kann, damit OkHttp dasselbe tut?

Antwort

3

Klingt nach etwas, das wir in OkHttp beheben können. Das ist seltsam und der Server ist kaputt, aber wenn andere Clients damit umgehen, sollte OkHttp auch.

Bitte melden Sie einen Fehler dort?

+2

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

Verwandte Themen