0
Ich möchte RestTemplate mit http GET aufrufen und Statuscode und umgeleitete URL abrufen (wenn es einen gab).Wie umgeleitet URL von RestTemplate?
Wie erreicht man das?
Ich möchte RestTemplate mit http GET aufrufen und Statuscode und umgeleitete URL abrufen (wenn es einen gab).Wie umgeleitet URL von RestTemplate?
Wie erreicht man das?
HttpClient
mit benutzerdefinierten RedirectStrategy
, wo Sie Zwischenantwort abfangen können (s), wenn Umleitung stattgefunden.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);
.......