Copie el código de código de la siguiente manera:
importar org.apache.http.HttpEntity;
importar org.apache.http.HttpHost;
importar org.apache.http.HttpResponse;
importar org.apache.http.client.HttpClient;
importar org.apache.http.client.methods.HttpGet;
importar org.apache.http.client.methods.HttpUriRequest;
importar org.apache.http.entity.ContentType;
importar org.apache.http.impl.client.DefaultHttpClient;
importar org.apache.http.protocol.BasicHttpContext;
importar org.apache.http.protocol.ExecutionContext;
importar org.apache.http.protocol.HttpContext;
importar org.apache.http.util.EntityUtils;
clase pública HttpClientDemo {
/**
* Obtenga la información de la URL después de la redirección
* @see HttpClient manejará automáticamente la redirección del cliente de forma predeterminada
* @see es decir, después de acceder a la página web A, suponiendo que sea redirigido a la página web B, HttpClient devolverá automáticamente el contenido de la página web B.
* @see Si desea obtener la dirección de la página web B, debe utilizar el objeto HttpContext que en realidad utiliza el cliente para mantener la información de estado en múltiples interacciones de solicitud y respuesta.
* @see También podemos usar HttpContext para almacenar cierta información que necesitamos, de modo que podamos sacar esta información para usarla durante la siguiente solicitud.
*/
vacío estático público getRedirectInfo(){
HttpClient httpClient = nuevo DefaultHttpClient();
HttpContext httpContext = nuevo BasicHttpContext();
HttpGet httpGet = nuevo HttpGet("http://127.0.0.1:8088/blog/main.jsp");
intentar {
// Pase el objeto HttpContext como parámetro al método ejecutar (), luego HttpClient almacenará la información de estado durante el proceso de interacción de respuesta de solicitud en HttpContext
Respuesta HttpResponse = httpClient.execute(httpGet, httpContext);
//Obtiene la información de la dirección del host después de la redirección, es decir, "http://127.0.0.1:8088"
HttpHost targetHost = (HttpHost)httpContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
//Obtiene el URI del objeto de solicitud real, que es "/blog/admin/login.jsp" después de la redirección
HttpUriRequest realRequest = (HttpUriRequest)httpContext.getAttribute(ExecutionContext.HTTP_REQUEST);
System.out.println("Dirección de host:" + targetHost);
System.out.println("Información URI:" + realRequest.getURI());
entidad HttpEntity = respuesta.getEntity();
si(nulo!= entidad){
System.out.println("Contenido de la respuesta:" + EntityUtils.toString(entidad, ContentType.getOrDefault(entidad).getCharset()));
EntityUtils.consume(entidad);
}
} captura (Excepción e) {
e.printStackTrace();
}finalmente{
httpClient.getConnectionManager().shutdown();
}
}
}