Получить код состояния Http с помощью OkHttp
Я использую OkHttp для получения содержимого некоторых веб-сайтов.
Однако я не могу получить код Http-Status из ответа.
Мой Java-код:
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();
Этот метод:
httpResponse.toString();
Возвращает следующий контент:
Response{protocol=http/1.1, code=200, message=OK, url=https://www.google.at}
Есть ли способ получить statusCode как целое число или мне нужно регулярное выражение, чтобы отфильтровать его из этого метода toString()?
Ответы
Ответ 1
Вы можете использовать класс HttpResponse и использовать его, чтобы получить доступ к коду состояния следующим образом:
HttpResponse httpResponse = client.newCall(request).execute();
httpResponse.getStatusLine().getStatusCode();
Если вы используете com.squareup.okhttp.Response, вы можете использовать метод code() для получения кода состояния HTTP.
Response httpResponse = client.newCall(request).execute();
httpResponse.code();
Ответ 2
Вы можете получить ответ с помощью:
Response response = client.newCall(request).execute();
И получите код состояния ответа с помощью:
int responseCode = response.code();