HttpClient的HttpGet、HttpPost工具类

在大大小小的项目中,不可避免两个系统之间的通讯交互,这里一般就能用到我们的HttpClient;

HttpClient

HttpClient是用来提供高效、最新、功能最丰富的HTTP协议的客户端编程工具包;

使用步骤

我们一般可以使用HttpClient发送请求、接收响应;
HttpGet请求响应的一般步骤:
1). 创建HttpClient对象,可以使用HttpClients.createDefault();
2). 如果是无参数的GET请求,则直接使用构造方法HttpGet(String url)创建HttpGet对象即可;
如果是带参数GET请求,则可以先使用URIBuilder(String url)创建对象,再调用addParameter(String param, String value),或setParameter(String param, String value)来设置请求参数,并调用build()方法构建一个URI对象。只有构造方法HttpGet(URI uri)来创建HttpGet对象。
3). 创建HttpResponse,调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。通过调用getStatusLine().getStatusCode()可以获取响应状态码。
4). 释放连接。

HttpPost请求响应的一般步骤:
1). 创建HttpClient对象,可以使用HttpClients.createDefault();
2). 如果是无参数的Post请求,则直接使用构造方法HttpPost(String url)创建HttpPost对象即可;
如果是带参数POST请求,先构建HttpEntity对象并设置请求参数,然后调用setEntity(HttpEntity entity)创建HttpPost对象。
3). 创建HttpResponse,调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。通过调用getStatusLine().getStatusCode()可以获取响应状态码。
4). 释放连接。

例如:
普通不带参的Get请求

/1.获得一个httpclient对象
 2 CloseableHttpClient httpclient = HttpClients.createDefault();
 3 //2.生成一个get请求
 4 HttpGet httpget = new HttpGet("http://localhost/");
 5 //3.执行get请求并返回结果
 6 CloseableHttpResponse response = httpclient.execute(httpget);
 7 try {
 8     //4.处理结果
 9 } finally {
10     response.close();
11 }

原文链接:HttpClient使用详解与实战一:普通的GET和POST请求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章