Sha*_*hye 9 java android retrofit okhttp
我的Android应用程序崩溃了以下堆栈跟踪,但是当我从桌面休息客户端尝试它时它运行良好.有谁知道问题可能是什么?
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? ---> HTTP GET http://beta2.irealtor.api.iproperty.com.my/Listing?pageSize=10000&orderby=1&order=-1
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? If-Modified-Since: 1398235278243
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? User-Agent: Android/0.0.20
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? Accept: application/json
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? Authorization: WFdSeW8vOTJ1Z3BoQlBJMk53VGpaekZRY2pCd1pYSlVXUT090
04-23 16:00:50.449 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? ---> END HTTP (0-byte body)
04-23 16:00:50.549 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? ---- ERROR http://beta2.irealtor.api.iproperty.com.my/Listing?pageSize=10000&orderby=1&order=-1
04-23 16:00:50.549 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? java.net.ProtocolException: Unexpected status line: {"Data":[],"CustomStatusCode":200,"Status":"success"}HTTP/1.1 200 OK
at com.squareup.okhttp.internal.http.StatusLine.<init>(StatusLine.java:38)
at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:150)
at com.squareup.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:99)
at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:595)
at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:381)
at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:328)
at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:493)
at retrofit.client.UrlConnectionClient.readResponse(UrlConnectionClient.java:71)
at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:38)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:358)
at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:284)
at $Proxy0.syncProperties(Native Method)
at com.iproperty.android.apps.irealtor.sync.SyncHelper.performSync(SyncHelper.java:210)
at com.iproperty.android.apps.irealtor.sync.SyncAdapter.onPerformSync(SyncAdapter.java:82)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
04-23 16:00:50.549 27917-27983/com.iproperty.android.apps.irealtor D/Ireal_IrealtorClient? ---- END ERROR
/**Sample code by using BasicHttpClient*/
BasicHttpClient httpClientTest = new BasicHttpClient();
httpClientTest.addHeader("If-Modified-Since", "1398312582192");
httpClientTest.addHeader("Authorization", "WFdSeW8vOTJ1Z3BoQlBJMk53VGpaekZRY2pCd1pYSlVXUT090");
httpClientTest.addHeader("User-Agent", "Android/0.0.20");
httpClientTest.addHeader("Accept", "application/json");
HttpResponse responseTest = httpClientTest.get("http://beta2.irealtor.api.iproperty.com.my/Listing?pageSize=100&orderby=1&order=-1",null);
final int statusTest = responseTest.getStatus(); // here i get 204, because i make server return 204 then there is nothing.
String body responseTest.getAsString() // here i get empty which is correct.
Run Code Online (Sandbox Code Playgroud)
Pab*_*son 20
我添加了一个网络拦截器,并为okhttp3客户端添加了关闭连接头.
okHttpClient = new OkHttpClient.Builder()
.addNetworkInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request().newBuilder().addHeader("Connection", "close").build();
return chain.proceed(request);
}
})
.build();
Run Code Online (Sandbox Code Playgroud)
这解决了问题.希望能帮助到你!
某些原因导致前面的 HTTP 请求的响应正文长度出现问题,从而导致池连接损坏。
前面的请求被 OkHttp 解释为没有主体,但它有这个主体:
{"Data":[],"CustomStatusCode":200,"Status":"success"}
Run Code Online (Sandbox Code Playgroud)
这可能是服务器中的错误,或者是 OkHttp 中的错误,具体取决于前面的 URL 发送的标头和代码。如果您能粘贴此故障之前的请求,我们就可以找出是谁的错!
| 归档时间: |
|
| 查看次数: |
12717 次 |
| 最近记录: |