Comment obtenir HttpClient de retourner le code d'état et le corps de la réponse?

J'essaie d'obtenir Apache HttpClient pour le feu d'une requête HTTP, puis afficher le code de réponse HTTP (200, 404, 500, etc.) ainsi que le corps de la réponse HTTP (chaîne de texte). Il est important de noter que je suis en utilisant v4.2.2 parce que la plupart des HttpClient exemples sont de v.3.x.x et l'API a changé considérablement à partir de la version 3 à la version 4.

Malheureusement, je n'ai pu obtenir HttpClient de retourner le code d'état ou le corps de la réponse (mais pas les deux).

Voici ce que j'ai:

//Getting the status code.
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://whatever.blah.com");
HttpResponse resp = client.execute(httpGet);

int statusCode = resp.getStatusLine().getStatusCode();


//Getting the response body.
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://whatever.blah.com");
ResponseHandler<String> handler = new BasicResponseHandler();

String body = client.execute(httpGet, handler);

Alors je vous le demande: à l'Aide de la v4.2.2 de la bibliothèque, comment puis-je obtenir à la fois, code d'état, et le corps de la réponse à partir de la même client.execute(...) appel? Merci à l'avance!

  • Ce qui se passe lorsque vous essayez de lire à la fois des valeurs de la même appel? Autant que je sache, il devrait y avoir aucun problème avec elle. Aussi, gardez à l'esprit qu'il est possible, pour les codes d'erreur, que le serveur n'envoie pas de contenu du tout (par exemple, si il n'y a pas de whatever.blah.com serveur).
  • Voir aussi stackoverflow.com/questions/5769717/...
  • J'ai ajouté ceci pour le tableau de bord pour le projet issues.apache.org/jira/browse/HTTPCLIENT-1581
InformationsquelleAutor IAmYourFaja | 2012-12-24