1、首先要在eclipse中導入HttpClient的jar包。
2、新建類並寫入一下代碼:
package com.day2.sample;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils;
//導包帶有httpclient的,按ctrl+shift+o
public class HttpClientDemo {
//構造一個get類型的請求,發給服務器
public void test_get() throws URISyntaxException, ClientProtocolException, IOException{
//1.新建一個客戶端對象
CloseableHttpClient client=HttpClients.createDefault();
//2.使用URIBuilder來生成一個get類型的URI
URI uri = new URIBuilder()
.setScheme("http") //設置協議
.setPort(8080)
.setHost("localhost")
.setPath("/test1312/Calc")
.setParameter("a", "1")
.setParameter("b", "2")
.build(); //把set設置的值按照get接口類型進行拼接
//3.新建一個HttpGet類型的get請求對象,並使用uri進行初始化->
//將uri請求值賦給get對象
HttpGet get = new HttpGet(uri);
//4.新建一個響應對象來接收客戶端執行get的結果
CloseableHttpResponse response = client.execute(get);
//5.從響應對象中提取需要的結果-->實際結果,與預期結果進行對比
if(response.getStatusLine().getStatusCode() == 200){
System.out.println(EntityUtils.toString(response.getEntity()));
}
}
}
3、新建一個類,調用這個類的方法就可以了,類中的參數可以進行參數化設置,或設置成變量,可用有參有返,有參無返更方便進行復用。
package com.day2.sample;
import java.io.IOException; import java.net.URISyntaxException;
import org.apache.http.client.ClientProtocolException;
public class HttpClientTest {
public static void main(String[] args) throws ClientProtocolException, URISyntaxException, IOException {
HttpClientDemo demo = new HttpClientDemo();
demo.test_get();
}
}
//忘多多批評指正:。)