Avant HttpClient 4.3
Dans les anciennes versions du Http C LIENT (avant 4.3), nous pouvons configurer ce que le client fait avec réoriente comme suit:
@Test
public void givenRedirectsAreDisabled_whenConsumingUrlWhichRedirects_thenNotRedirected()
throws ClientProtocolException, IOException {
DefaultHttpClient instance = new DefaultHttpClient();
HttpParams params = new BasicHttpParams();
params.setParameter(ClientPNames.HANDLE_REDIRECTS, false);
// HttpClientParams.setRedirecting(params, false); // alternative
HttpGet httpGet = new HttpGet("http:/testabc.com");
httpGet.setParams(params);
CloseableHttpResponse response = instance.execute(httpGet);
assertThat(response.getStatusLine().getStatusCode(), equalTo(301));
}
Notez l'API alternative qui peut être utilisé pour configurer le comportement de redirection sans utiliser le réglage de la http.protocol.handle brute réelle -redirects paramètre:
HttpClientParams.setRedirecting(params, false);
notez également que, avec suivi réoriente personnes handicapées, nous pouvons maintenant vérifier que le code d'état de réponse Http est en effet 301 déplacé définitivement - comme cela devrait être.
Après HttpClient 4.3
HttpClient 4.3 introduit un produit de nettoyage, plus API de haut niveau pour construire et configurer le client:
@Test
public void givenRedirectsAreDisabled_whenConsumingUrlWhichRedirects_thenNotRedirected()
throws ClientProtocolException, IOException {
HttpClient instance = HttpClientBuilder.create().disableRedirectHandling().build();
HttpResponse response = instance.execute(new HttpGet("http://testabc.com"));
assertThat(response.getStatusLine().getStatusCode(), equalTo(301));
}
Notez que la nouvelle API configure l'ensemble client avec ce rediriger le comportement - pas seulement la demande individuelle. Référence: http://www.baeldung.com/httpclient-stop-follow-redirect
un exemple simple de ce [se trouvent ici] (http://www.baeldung.com/httpclient-stop-follow-redirect) –
Au 4.3 cette réponse est déconseillée, l'utilisation par David utilisation réponse Riccitelli – DSchmidt