java - respuesta - HttpClient obtiene el código de estado
métodos y códigos de errores http (3)
Usando Apache HttpClient 4.1.3 e intentando obtener el código de estado de un HttpGet
:
HttpClient client = new DefaultHttpClient();
HttpGet response = new HttpGet("http://www.example.com");
ResponseHandler<String> handler = new BasicResponseHandler();
String body = client.execute(response, handler);
¿Cómo extraigo el código de estado (202, 404, etc.) del body
? O, si hay otra forma de hacerlo en 4.1.3, ¿qué es?
Además, supongo que una respuesta HTTP perfecta / buena es HttpStatus.SC_ACCEPTED
pero también me gustaría confirmarla. ¡Gracias por adelantado!
¿Qué tal esto?
HttpResponse response = client.execute(getRequest);
// Status Code
int statusCode = response.getStatusLine().getStatusCode();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
// Response Body
String responseBody = responseHandler.handleResponse(response);
Lo hago como:
HttpResponse response = client.execute(httppost);
int status = response.getStatusLine().getStatusCode();
Sin embargo, para obtener el cuerpo de reposo como una Cadena al no usar un Manejador de respuestas lo obtengo primero como InputStream:
InputStream is = response.getEntity().getContent();
y luego conviértalo en una cadena (maneras de hacerlo here )
EDITAR:
Prueba con:
HttpResponse httpResp = client.execute(response);
int code = httpResp.getStatusLine().getStatusCode();
El HttpStatus debe ser 200 ( HttpStatus.SC_OK
)
(¡He leído demasiado rápido el problema!)
Prueba con:
GetMethod getMethod = new GetMethod("http://www.example.com");
int res = client.executeMethod(getMethod);
¡Esto debería funcionar!