使用Java编写一个http请求,要求使用HttpClient
HttpClient介绍:
HttpClient是Apache提供的一个用于在Java中处理HTTP请求、响应操作的工具,它比JDK中自带的URLConnection更加灵活好用,因此越来越多的人开始使用它来实行对HTTP的请求操作。HttpClient的初级使用我是在IDEA的编译工具上来实现基于HttpClient的HTTP请求实现。首先需要先创建一个Maven项目,并且添加相关的HttpClient依赖,在百度上使用HttpClient pom 查找官网上的HttpClient依赖,如图1.1,然后选择自己需要的版本,点击获取该依赖,如图1.2。将该语句添加至项目的pom.xml文件中。至此,HttpClient的jar包添加完成,可以开始项目的编写。
图1.1 依赖版本选择图1.2 相关依赖语句
图1.2 相关依赖语句
HttpClient的使用方法:
- 使用CloseableHttpClient来创建一个httpClient对象
- 声明请求类型,并传入相应的URL
- 使用httpClient的excute()方法来传递请求对象,并获取响应对象
- 获取服务器的状态码,并判断该状态码是否正常
- 正常的话则将服务器发送的数据封装成HttpEntity对象
- 将所得对象转化成字符串
- 关闭连接
get请求:
public class HttpClient { public static void main(String[] args) { //创建一个httpClient实例 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建一个get方法,并指定url HttpGet get = new HttpGet("http://www.baidu.com"); { try { //调用httpClient的excute方法,传递请求对象并且获取到响应对象 HttpResponse response = httpClient.execute(get); //得到服务器的状态码 ; int httpCode = response.getStatusLine().getStatusCode(); System.out.println("httpCode:"+ httpCode); //判断该状态码是否正常 if(httpCode >= 200 && httpCode < 400){ //得到服务器端发送过来的数据并封装成HttpEntity HttpEntity httpEntity = response.getEntity(); //将得到的对象转化成字符串 System.out.println("httpEntity:"+ httpEntity); String result = EntityUtils.toString(httpEntity); System.out.println("*********************"); System.out.println("result:"+ result); } } catch (IOException e) { e.printStackTrace(); } }response.close(); httpClient.close();}}
输出结果