web-dev-qa-db-ja.com

OkHttpでHTTPステータスコードを取得する

OkHttpを使用して、いくつかのWebサイトのコンテンツを取得しています。

ただし、応答から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()メソッドからフィルタリングするために正規表現が必要ですか?

24
maja

HttpResponse クラスを使用すると、次のようにステータスコードにアクセスできます。

HttpResponse httpResponse = client.newCall(request).execute(); 
httpResponse.getStatusLine().getStatusCode();

Com.squareup.okhttp.Responseを使用している場合、code()メソッドを使用してHTTPステータスコードを取得できます。

Response httpResponse = client.newCall(request).execute(); 
httpResponse.code();
52
dinukadev

次の方法で応答を取得できます。

Response response = client.newCall(request).execute();

そして、応答ステータスコードを取得します:

int responseCode = response.code();
26
savepopulation