博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Httpclient的使用
阅读量:3527 次
发布时间:2019-05-20

本文共 2641 字,大约阅读时间需要 8 分钟。

1.1 Httpclient的使用

1.1.1 什么是httpclient

HttpClient 是 Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP协议的客户端编程工具包,并且它支持 HTTP协议最新的版本和建议。

下载地址:

 

 https://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html  更加详细请观看这篇文档

1.1.2 添加依赖

 

需要把httpclientjar包添加到工程中。只需要在工程中添加httpclient的依赖。

 

 

1.1.3 使用方法

1.1.3.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();

}

 

1.1.3.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();

}

 

1.1.3.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();

}

 

1.1.3.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();

}

你可能感兴趣的文章
redis缓存雪崩
查看>>
mysql的事务隔离
查看>>
mvc架构
查看>>
ElasticSearch(0) ES的认识
查看>>
JPA入门
查看>>
JPA关系
查看>>
4.spring注解和生命周期相关的(了解)
查看>>
3.spring 的纯注解配置
查看>>
4.Spring 整合 Junit
查看>>
安装配置 Kali Linux 笔记
查看>>
持久加密U盘安装 Kali Linux 笔记
查看>>
[ 笔 记 ] netcat 传输信息 / banner
查看>>
[ 笔 记 ] 主动信息收集_002
查看>>
[ CTF ] ssh私钥泄漏_笔记
查看>>
设计模式学习
查看>>
操作系统学习总结
查看>>
Java JSON字符串与自定义类/基本类型相互转换
查看>>
Java中时间戳和时间格式的转换
查看>>
Dubbo基础知识整理
查看>>
计算机网络知识整理
查看>>