Java 如何从CloseableHttpResponse获取URI
当我为web请求的响应获取CloseableHttpResponse对象,并且请求成功时,如何获取响应的URI?可以从与消息交换关联的HttpContext获取此信息Java 如何从CloseableHttpResponse获取URI,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,当我为web请求的响应获取CloseableHttpResponse对象,并且请求成功时,如何获取响应的URI?可以从与消息交换关联的HttpContext获取此信息 CloseableHttpClient client = HttpClients.custom() .build(); HttpClientContext clientContext = HttpClientContext.create(); try (CloseableHttpResponse response
CloseableHttpClient client = HttpClients.custom()
.build();
HttpClientContext clientContext = HttpClientContext.create();
try (CloseableHttpResponse response = client.execute(new HttpGet("http://google.com/"), clientContext)) {
System.out.println(response.getStatusLine());
HttpEntity entity = response.getEntity();
EntityUtils.consume(entity);
final HttpRequest request = clientContext.getRequest();
System.out.println(request.getRequestLine().getUri());
System.out.println(request.getFirstHeader("Host"));
final List<URI> redirectLocations = clientContext.getRedirectLocations();
System.out.println(redirectLocations);
}
为什么?你已经忘了?无论如何,你不能。它不在那里。如果存在重定向,响应uri可能与请求uri不同。我认为这是请求uri,而不是响应uri。如果请求uri中有重定向,它们就不同了。@DavidThielen HTTP中没有响应uri。