2016-05-23 226 views
2

我正在嘗試使用OkHttp進行調用,並且出現異常,因爲其中一個標題有問題。標題是:任何方式來禁用或繞過OkHttp的checkNameAndValue異常?

Content-Disposition: attachment; filename="O Último Caçador de Bruxas (2016) 5.1 CH Dublado 1080p.mp4"

我有過,所以我想知道如果我可以告訴OkHttp忽略錯誤的服務器的控制?

這是完整的例外。

java.lang.IllegalArgumentException: Unexpected char 0xda at 24 in content-disposition value: attachment; filename="O Último Caçador de Bruxas (2016) 5.1 CH Dublado 1080p.mp4" at okhttp3.Headers$Builder.checkNameAndValue(Headers.java:283) at okhttp3.Headers$Builder.add(Headers.java:233) at okhttp3.internal.http.Http2xStream.readHttp2HeadersList(Http2xStream.java:263) at okhttp3.internal.http.Http2xStream.readResponseHeaders(Http2xStream.java:149) at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723) at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81) at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708) at com.facebook.stetho.okhttp3.StethoInterceptor.intercept(StethoInterceptor.java:59) at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:681) at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563) at okhttp3.RealCall.getResponse(RealCall.java:241) at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160) at okhttp3.RealCall.execute(RealCall.java:57)

回答

1

這是在OkHttp的錯誤。您可以通過禁用HTTP/2來解決此問題。

http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#protocols-java.util.List-

+0

感謝您的答覆,我想,今天上午,仍然得到了同樣的異常'java.lang.IllegalArgumentException:如果內容處置值意外的字符0xda 24:附件; filename =「OÚltimoCaçadorde Bruxas(5.1)5.1 CH Dublado 1080p.mp4」' – casolorz

+0

只是要清楚這是我在我的快速測試'ArrayList protocols = new ArrayList <>(); protocols.add(Protocol.HTTP_1_1); protocols.add(Protocol.SPDY_3); builder.protocols(protocols);' – casolorz

+1

也必須刪除'SPDY_3'。謝謝。 – casolorz

相關問題