2017-09-22 10 views
3

TLDR : 예기치 않은/요청되지 않은 100 HTTP 응답 계속 처리하도록 OkHttp 강제로 방법이 있습니까?okhttp : 서버에서 요청되지 않은/예기치 않은 100 (계속) 응답을 처리하는 방법은 무엇입니까?

Android 용 OkHttp 3.8.1을 사용하여 잘못 작동하는 서버에 POST합니다.

요청에 "Expect : 100-continue"헤더가 없더라도 웹 서버는 100 Continue 응답을 반환합니다. 요청 본문을 계속 보내지 않고 실제 (200) 응답을 얻으면 OkHttp가 멈추고 okhttp.Callback에 100 Continue 응답을 보냅니다.

Okhttp의 논리를 트리거하는 요청에서 "Expect : 100-continue"를 명시 적으로 시도했지만 서버 (일부 버그로 인해 가능)가 헤더의 형식이 잘못되어 요청을 거부한다고 주장합니다. 나는 또한 "Expect :"(값 없음)를 보내려고했지만 서버는 여전히 100 Continue 응답을 보내고 OkHttp는 거기서 멈춘다.

다른 HTTP 클라이언트 (지금까지 3 개를 테스트했습니다)는 해당 서버와 잘 대화 할 수 있습니다. 요청 머리글에 "기대 : 100- 계속"이 표시되지 않더라도 100 회 계속 응답을 올바르게 처리합니다. Okhttp가 똑같이 할 수 있도록 설정할 수있는 옵션이나 쓸 수있는 인터셉터가 있습니까?

답변

3

소리는 OkHttp에서 수정할 수있는 것과 같습니다. 이것은 이상하고 서버가 고장 났지만 다른 클라이언트가 그것을 처리하면 OkHttp도 처리해야합니다.

거기에 버그를 신고 해주세요.

+2

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