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

标签 java spring url redirect resttemplate

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

如何实现?

最佳答案

使用 Spring 并覆盖 SimpleClientHttpRequestFactory 中的 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();

关于java - 如何从 RestTemplate 获取重定向的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774629/

相关文章:

java - 使用 inbuild 注入(inject)的 Jersey 自定义方法参数注入(inject)

java - 忽略契约(Contract)测试中 Controller 响应中要映射的字段

java - 14 :08:31. 741 [主要]调试org.springframework.web.client.RestTemplate - 响应415 UNSUPPORTED_MEDIA_TYPE

java - XPath lower-case() 获取小写值的集合

java - child 网络服务地理名称

java - GAE - JPA - datanucleus 数据检索错误 - PESSIMISTIC_READ

Java - Spring数据访问对象实现

react-native - "The request Url/index.bundle was not found on this server"是什么意思?

regex - 如何编写正则表达式以仅匹配数字,字母和破折号?

java - 从 URL 获取文件名