Get Http Status Code with OkHttp
38,344
Solution 1
You can use HttpResponse class and using that you can access the status code as follows;
HttpResponse httpResponse = client.newCall(request).execute();
httpResponse.getStatusLine().getStatusCode();
If you are using com.squareup.okhttp.Response then you can use the code() method to get the HTTP status code.
Response httpResponse = client.newCall(request).execute();
httpResponse.code();
Solution 2
You can get response with:
Response response = client.newCall(request).execute();
And get response status code with:
int responseCode = response.code();
Author by
maja
Updated on January 27, 2020Comments
-
maja about 4 years
I'm using OkHttp to get the content of some websites.
However, I'm not able to get the Http-Status Code from the response.
My Java-Code:
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.google.at") .build(); Response httpResponse = client.newCall(request).execute(); String html = httpResponse.body().string();
This method:
httpResponse.toString();
Returns the following content:
Response{protocol=http/1.1, code=200, message=OK, url=https://www.google.at}
Is there a way to get the statusCode as an integer, or do I need a Regular Expression to filter it out of this toString()-method?
-
maja almost 10 yearsThe execute-function returns an
com.squareup.okhttp.Response
-object, not anorg.apache.http.HttpResponse
object -
dinukadev almost 10 yearsThere is a method called code(square.github.io/okhttp/javadoc/com/squareup/okhttp/…) within the class you just mentioned. Are you not able to use that?