Apache HttpClient 4.1.3を使用して、HttpGet
からステータスコードを取得しようとしています。
HttpClient client = new DefaultHttpClient();
HttpGet response = new HttpGet("http://www.example.com");
ResponseHandler<String> handler = new BasicResponseHandler();
String body = client.execute(response, handler);
body
?からステータスコード(202、404など)を抽出する方法または、4.1.3でこれを行う別の方法がある場合、それは何ですか?
また、完全/良好なHTTP応答はHttpStatus.SC_ACCEPTED
しかし、それについても確認したいと思います。前もって感謝します!
編集:
で試してください:
HttpResponse httpResp = client.execute(response);
int code = httpResp.getStatusLine().getStatusCode();
HttpStatusは200(HttpStatus.SC_OK
)
(問題を速すぎて読みました!)
で試してください:
GetMethod getMethod = new GetMethod("http://www.example.com");
int res = client.executeMethod(getMethod);
これでうまくいくはずです!
これはどう?
HttpResponse response = client.execute(getRequest);
// Status Code
int statusCode = response.getStatusLine().getStatusCode();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
// Response Body
String responseBody = responseHandler.handleResponse(response);
私は次のようにします:
HttpResponse response = client.execute(httppost);
int status = response.getStatusLine().getStatusCode();
ResponseHandlerを使用せずに、respose本文をStringとして取得するには、まずInputStreamとして取得します。
InputStream is = response.getEntity().getContent();
そして、それを文字列に変換します(その方法は here )