开启httpClient之旅
下班了,明天有事周六了(不过给我没啥关系(明天加班)),走之前把昨晚学的httpClient给总结一下,由于刚开始学习,所以这次是最基础的一遍。后期会持续更新相关内容,也欢迎关注我的个人博客。主页
搜的一些简介:
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。
enennene让我回想一下昨天学习的内容,首先需要导入几个jar包,
httpclient-4.5.jar
httpcore-4.4.1.jar
httpmime-4.5.jar,几个关键词如下:CloseableHttpClient(可关闭的httpclient)、HttpGet(get类型http)、CloseableHttpResponse(可关闭的响应)、HttpEntity(请求返回的实体对象)代码注释一起上。注意这里是一个爬虫的基本操作,因为httpClient之前主要是用于爬虫操作。所以用这个例子作为入门,相信可以更有成效。
public static void main(String[] args) {
CloseableHttpClient httpClient=HttpClients.createDefault(); // 首先创建httpClient的实例
HttpGet httpget = new HttpGet("http://www.网址.com/"); // 然后创建httpget实例参数是网址或者ip+端口
CloseableHttpResponse response=null;
try {
response = httpClient.execute(httpget);
} catch (ClientProtocolException e) { // http协议异常
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) { // io异常
// TODO Auto-generated catch block
e.printStackTrace();
} // 执行get请求
HttpEntity entity=response.getEntity(); // 获取返回实体
try {
System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8"));//利用工具类对返回的实体格式化
} catch (ParseException e) { // 解析异常
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) { // io异常
// TODO Auto-generated catch block
e.printStackTrace();
} // 指定编码打印网页内容
try {
response.close();
} catch (IOException e) { // io异常
// TODO Auto-generated catch block
e.printStackTrace();
} // 关闭流和释放系统资源
总结:上边程序可以说是一个最基础的篇目。主要分为如下几步:
1.创建httpClient实例(可关闭的HttpClient)
2.创建所需请求方式的Http(post或者get)参数是请求的套接字(ip+端口)
3.创建一个可以关闭的Http响应对象即CloseableHttpResponse对像,用于接受请求后的响应内容。
4.通过response的getEntity获取内容(这里是获取网页上的url内容)
5.通过EntityUtil工具类来格式化返回的内容。
6.关闭两个对象一个是httpClient实例另一个是response对象。
结果如下
上一篇: AJAX的GET请求、POST请求