android中如何读取Okhttp响应的状态码
How to read the status code of Okhttp response in android
我的当前代码:
public static InputStream postRequestWithPayload(String url, String mJsonReq) throws Exception {
Response response;
try{
RequestBody body = RequestBody.create(JSON, mJsonReq);
client.setConnectTimeout(20, TimeUnit.SECONDS); // connect timeout
client.setReadTimeout(20, TimeUnit.SECONDS); // socket timeout
Request request = new Request.Builder()
.url(url)
.post(body)
.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_USERNAME, AppController.getUserName())
.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_AUTHTOLKEN, AppController.getToken().toString())
//.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_APP_IDENTIFIER, AppConstants.OKHTTP_HEADER_GENERAL_APP_IDENTIFIER_VALUE)
.build();
response = client.newCall(request).execute();
}catch(Exception e){
throw e;
}
return response.body().byteStream();
}
我想做什么:
- 我正在尝试读取响应的状态代码
- 如何实现
使用 Response 对象的方法 code():
response.code();
您可以使用 HttpResponse
class 并使用它可以访问状态代码,如下所示;
HttpResponse httpResponse = client.newCall(request).execute();
httpResponse.getStatusLine().getStatusCode();
如果您正在使用 com.squareup.okhttp.Response
,那么您可以使用 code()
方法来获取 HTTP 状态代码。
Response httpResponse = client.newCall(request).execute();
httpResponse.code();
您可以使用 response.code()
。来自文档
/** Returns the HTTP status code. */
我的当前代码:
public static InputStream postRequestWithPayload(String url, String mJsonReq) throws Exception {
Response response;
try{
RequestBody body = RequestBody.create(JSON, mJsonReq);
client.setConnectTimeout(20, TimeUnit.SECONDS); // connect timeout
client.setReadTimeout(20, TimeUnit.SECONDS); // socket timeout
Request request = new Request.Builder()
.url(url)
.post(body)
.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_USERNAME, AppController.getUserName())
.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_AUTHTOLKEN, AppController.getToken().toString())
//.addHeader(AppConstants.OKHTTP_HEADER_GENERAL_APP_IDENTIFIER, AppConstants.OKHTTP_HEADER_GENERAL_APP_IDENTIFIER_VALUE)
.build();
response = client.newCall(request).execute();
}catch(Exception e){
throw e;
}
return response.body().byteStream();
}
我想做什么:
- 我正在尝试读取响应的状态代码
- 如何实现
使用 Response 对象的方法 code():
response.code();
您可以使用 HttpResponse
class 并使用它可以访问状态代码,如下所示;
HttpResponse httpResponse = client.newCall(request).execute();
httpResponse.getStatusLine().getStatusCode();
如果您正在使用 com.squareup.okhttp.Response
,那么您可以使用 code()
方法来获取 HTTP 状态代码。
Response httpResponse = client.newCall(request).execute();
httpResponse.code();
您可以使用 response.code()
。来自文档
/** Returns the HTTP status code. */