大多数Java应用程序都会通过HTTP协议来调用接口访问各种网络资源,JDK也提供了相应的HTTP工具包,但是使用起来不够方便灵活,所以我们可以利用Apache的HttpClient来封装一个具有访问HTTP协议基本功能的高效工具类,为后续开发使用提供方便。
文章要点:
- HttpClient使用流程
- 工具类封装
- 使用实例
HttpClient使用流程
1、导入Maven依赖
1 | <dependency> |
2、创建HttpClient实例
1 | HttpClient client = HttpClientBuilder.create().build(); |
3、创建请求方法的实例
GET请求使用HttpGet,POST请求使用HttpPost,并传入请求的URL
1 | // POST请求 |
4、添加请求参数
普通形式
1 | List<NameValuePair> list = new ArrayList<>(); |
JSON形式
1 | Map<String,String> map = new HashMap<>(); |
5、发送请求
调用HttpClient实例的execute方法发送请求,返回一个HttpResponse对象
1 | HttpResponse response = client.execute(post); |
6、获取结果
1 | String result = EntityUtils.toString(response.getEntity()); |
7、释放连接
1 | post.releaseConnection(); |
工具类封装
HttpClient工具类代码(根据相应使用场景进行封装):
1 | public class HttpClientUtil { |
使用实例
GET请求
1 | List<NameValuePair> parametersBody = new ArrayList(); |
POST请求
1 | List<NameValuePair> parametersBody = new ArrayList(); |
POST请求(JSON形式)
1 | Map<String,String> map = new HashMap<>(); |
关于HttpClient的详细介绍看这里:HttpClient入门
本文为作者kMacro原创,转载请注明来源:https://zkhdev.github.io/2018/10/12/java-dev5/
v1.5.2