我正在使用OkHttp来获取某些网站的内容。
但是,我无法从响应中获取Http-Status Code。
我的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() - 方法?
答案 0 :(得分:50)
您可以使用HttpResponse类并使用它来访问状态代码,如下所示;
HttpResponse httpResponse = client.newCall(request).execute();
httpResponse.getStatusLine().getStatusCode();
如果您使用的是com.squareup.okhttp.Response,则可以使用code()方法获取HTTP状态代码。
Response httpResponse = client.newCall(request).execute();
httpResponse.code();
答案 1 :(得分:26)
您可以通过以下方式获得回复:
Response response = client.newCall(request).execute();
获取响应状态代码:
int responseCode = response.code();