Copy kode kodenya sebagai berikut:
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
kelas publik HttpClientDemo {
/**
* Dapatkan informasi URL setelah pengalihan
* @see HttpClient akan secara otomatis menangani pengalihan klien secara default
* @see Artinya, setelah mengakses halaman web A, dengan asumsi dialihkan ke halaman web B, maka HttpClient akan otomatis mengembalikan konten halaman web B.
* @see Jika Anda ingin mendapatkan alamat halaman web B, Anda perlu menggunakan objek HttpContext yang sebenarnya digunakan oleh klien untuk menjaga informasi status dalam beberapa interaksi permintaan dan respons.
* @see Kita juga dapat menggunakan HttpContext untuk menyimpan beberapa informasi yang kita perlukan, sehingga kita dapat mengambil informasi ini untuk digunakan pada permintaan berikutnya.
*/
kekosongan statis publik getRedirectInfo(){
HttpClient httpClient = baru DefaultHttpClient();
HttpContext httpContext = BasicHttpContext baru();
HttpGet httpGet = HttpGet baru("http://127.0.0.1:8088/blog/main.jsp");
mencoba {
//Lewati objek HttpContext sebagai parameter ke metode eksekusi(), maka HttpClient akan menyimpan informasi status selama proses interaksi respons permintaan di HttpContext
Respons HttpResponse = httpClient.execute(httpGet, httpContext);
//Dapatkan informasi alamat host setelah pengalihan, yaitu, "http://127.0.0.1:8088"
HttpHost targetHost = (HttpHost)httpContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
//Dapatkan URI dari objek permintaan sebenarnya, yaitu "/blog/admin/login.jsp" setelah pengalihan
HttpUriRequest realRequest = (HttpUriRequest)httpContext.getAttribute(ExecutionContext.HTTP_REQUEST);
System.out.println("Alamat host:" + targetHost);
System.out.println("Informasi URI:" + realRequest.getURI());
Entitas HttpEntity = respon.getEntity();
if(null != entitas){
System.out.println("Konten respons:" + EntityUtils.toString(entity, ContentType.getOrDefault(entity).getCharset()));
EntityUtils.konsumsi(entitas);
}
} tangkapan (Pengecualian e) {
e.printStackTrace();
}Akhirnya{
httpClient.getConnectionManager().shutdown();
}
}
}