Im essayant de récupérer les données de mon serveur avec Android 8 (26 Oreo) et je reçois l'erreur suivante:Rénovation + OkHttp - ProtocolException
java.net.ProtocolException: unexpected end of stream
Im en utilisant Retrofit 2.3.0, 3.9.0 OkHttp. La chose étrange est que cette erreur se produit uniquement sur API 26 Oreo et pas sur les API précédentes, je reçois cette erreur au hasard, parfois oui, parfois non. L'erreur est courte en raison des capacités de débogage RxJava.
EDIT: J'ai changé RxJava avec un simple appel "demande", c'est la pleine erreur:
java.net.ProtocolException: unexpected end of stream
at okhttp3.internal.http1.Http1Codec$FixedLengthSource.read(Http1Codec.java:398)
at okio.RealBufferedSource.readAll(RealBufferedSource.java:163)
at retrofit2.Utils.buffer(Utils.java:304)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:204)
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:112)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
L'appel que je fais est assez standard:
TestInterface api = retrofit.create(TestInterface.class);
Call<List<Post>> call = api.getFeed(0, 0, "9");
call.enqueue(new Callback<List<Post>>() {
@Override
public void onResponse(Call<List<Post>> call, Response<List<Post>> response) {
Log.i(TAG, "[app] onResponse");
}
@Override
public void onFailure(Call<List<Post>> call, Throwable t) {
Log.i(TAG, "[app] onFailure: ", t);
}
});
Ce sont ma réponse en-têtes, j'ai vérifié la longueur du contenu et il correspond à ma réponse:
Allow →GET, HEAD, OPTIONS
Connection →close
Content-Language →en
Content-Length →3277
Content-Type →application/json
Date →Sat, 09 Sep 2017 14:58:38 GMT
Server →gunicorn/19.7.0
Vary →Accept, Accept-Language, Cookie
X-Frame-Options →SAMEORIGIN
Merci va essayer! – box
Ne fonctionne pas .... – box