Httpclient的使用

1.使用httpclient执行get请求

@Test

public void doGet()throws Exception {

//创建一个httpclient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个GET对象

HttpGet get =new HttpGet("http://www.sogou.com");

//执行请求

CloseableHttpResponse response =httpClient.execute(get);

//取响应的结果

int statusCode =response.getStatusLine().getStatusCode();

System.out.println(statusCode);

HttpEntity entity =response.getEntity();

String string = EntityUtils.toString(entity,"utf-8");

System.out.println(string);

//关闭httpclient

response.close();

httpClient.close();

}

 

2.执行get请求带参数

@Test

public void doGetWithParam()throws Exception{

//创建一个httpclient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个uri对象

URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web");

uriBuilder.addParameter("query","花千骨");

HttpGet get = new HttpGet(uriBuilder.build());

//执行请求

CloseableHttpResponse response =httpClient.execute(get);

//取响应的结果

int statusCode =response.getStatusLine().getStatusCode();

System.out.println(statusCode);

HttpEntity entity =response.getEntity();

String string = EntityUtils.toString(entity,"utf-8");

System.out.println(string);

//关闭httpclient

response.close();

httpClient.close();

}

3.使用httpclient执行post请求

@Test

public void doPost()throws Exception {

CloseableHttpClient httpClient = HttpClients.createDefault();

 

//创建一个post对象

HttpPost post =new HttpPost("http://localhost:8082/httpclient/post.html");

//执行post请求

CloseableHttpResponse response =httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

response.close();

httpClient.close();

 

}

4.带参数的post请求

@Test

public void doPostWithParam()throws Exception{

CloseableHttpClient httpClient = HttpClients.createDefault();

 

//创建一个post对象

HttpPost post =new HttpPost("http://localhost:8082/httpclient/post.html");

//创建一个Entity。模拟一个表单

List<NameValuePair>kvList = new ArrayList<>();

kvList.add(new BasicNameValuePair("username","zhangsan"));

kvList.add(new BasicNameValuePair("password","123"));

 

//包装成一个Entity对象

StringEntity entity = new UrlEncodedFormEntity(kvList,"utf-8");

//设置请求的内容

post.setEntity(entity);

 

//执行post请求

CloseableHttpResponse response =httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

response.close();

httpClient.close();

}

原文地址:https://www.cnblogs.com/libo199374/p/8798649.html