如何从 RestTemplate 获取重定向的 url?

pix*_*xel 3 java url redirect spring resttemplate

我想使用 http GET 调用 RestTemplate 并检索状态代码和重定向的 url(如果有的话)。

如何实现这一目标?

小智 5

在 SimpleClientHttpRequestFactory 中使用 Spring 并重写prepareConnection()...

RestTemplate restTemplate = new RestTemplate( new SimpleClientHttpRequestFactory(){
    @Override
    protected void prepareConnection( HttpURLConnection connection, String httpMethod ) {
        connection.setInstanceFollowRedirects(false);
    }
} );

ResponseEntity<Object> response = restTemplate.exchange( "url", HttpMethod.GET, null, Object.class );
int statusCode = response.getStatusCodeValue();
String location = response.getHeaders().getLocation() == null ? "" : response.getHeaders().getLocation().toString();
Run Code Online (Sandbox Code Playgroud)