2016-08-04 9 views

Antwort

1
  1. erstellen Apache HttpClient mit benutzerdefinierten RedirectStrategy, wo Sie Zwischenantwort abfangen können (s), wenn Umleitung stattgefunden.
  2. Ersetzen Sie Standard-Anfrage Factory mit HttpComponentsClientHttpRequestFactory und neue Apache HttpClient.

Weitere Informationen finden Sie unter org.apache.http.client.RedirectStrategy. Oder verwenden Sie wie im folgenden Beispiel:

CloseableHttpClient httpClient = HttpClientBuilder 
     .create() 
     .setRedirectStrategy(new DefaultRedirectStrategy() { 

      @Override 
      public boolean isRedirected(HttpRequest request, HttpResponse response, 
        HttpContext context) throws ProtocolException { 

       System.out.println(response); 

       // If redirect intercept intermediate response. 
       if (super.isRedirected(request, response, context)){ 
        int statusCode = response.getStatusLine().getStatusCode(); 
        String redirectURL = response.getFirstHeader("Location").getValue(); 
        System.out.println("redirectURL: " + redirectURL); 
        return true; 
       } 
       return false; 
      } 
     }) 
     .build(); 
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient); 
RestTemplate restTemplate = new RestTemplate(factory); 
....... 
Verwandte Themen