HttpClient 是Apache Jakarta Common 下的子項目,能夠用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,而且它支持 HTTP 協議最新的版本和建議。html
HTTP 協議多是如今 Internet 上使用得最多、最重要的協議了,愈來愈多的 Java 應用程序須要直接經過 HTTP 協議來訪問網絡資源。雖然在 JDK 的 java net包中已經提供了訪問 HTTP 協議的基本功能,可是對於大部分應用程序來講,JDK 庫自己提供的功能還不夠豐富和靈活。HttpClient 是 Apache Jakarta Common 下的子項目,用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,而且它支持 HTTP 協議最新的版本和建議。HttpClient 已經應用在不少的項目中,好比 Apache Jakarta 上很著名的另外兩個開源項目 Cactus 和 HTMLUnit 都使用了 HttpClient。如今HttpClient最新版本爲 HttpClient 4.5 .6(2015-09-11)java
<!--添加httpClient jar包 --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>
public class TestHttpClient { /** * 1.實例化httpClient對象 * 2.肯定請求url地址 * 3.定義請求方式類型 get post put delete * 4.利用api發起http請求,獲取響應結果 * 5.判斷返回值是否正確 校驗狀態碼. * 6.若是返回值狀態碼正確的(200),則動態獲取返回值信息 */ @Test public void test() { HttpClient httpClient = HttpClients.createDefault(); String url = "https://www.baidu.com"; HttpGet httpGet = new HttpGet(url); try { //發起請求,獲取響應 200 HttpResponse httpResponse = httpClient.execute(httpGet); int code = httpResponse.getStatusLine().getStatusCode(); String reason = httpResponse.getStatusLine().getReasonPhrase(); System.out.println("獲取返回值信息:"+code+":"+reason); if(code==200) { //表示用戶的請求正確 獲取響應的實體 HttpEntity httpEntity = httpResponse.getEntity(); //將實體信息.轉化爲String類型,進行展示,防止亂碼 String result = EntityUtils.toString(httpEntity,"utf-8"); System.out.println(result); } } catch (IOException e) { e.printStackTrace(); } } }
若有冒犯,請評論區,通知,我將及時撤回!!!apache