本文共 1289 字,大约阅读时间需要 4 分钟。
更多HttpClient4.5教程请访问
=====================================================================
问题:模拟浏览器访问新浪网http://www.sina.com.cn/并解析返回结果
一、分析
经过前面的学习,已经能掌握了GET请求并解析返回结果,如下图:
一个使用HttpClient4.5典型的GET访问步骤为:
1.构建HttpClient-------------->首先你得有一个浏览器
2.构建请求(起始行、首部)
3.使用HttpClient执行请求
4.解析相应(起始行、首部、实体)
另外还包括释放资源HttpClient、实体、响应
二、构建
下面就按照上面的步骤来进行构造
导入HttpClient4.5的库(本文用Eclipse4.4)
1.构建HttpClient
- CloseableHttpClient client=HttpClients.createDefault();
程序结尾需要关闭
client.close();
2.构建请求
-
- HttpGet get=new HttpGet("http://www.sina.com.cn/");
-
- get.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0");
-
- CloseableHttpResponse response=client.execute(get);
3.执行请求
- CloseableHttpResponse response=client.execute(get);
-
- System.out.println(response.getStatusLine().toString()+"\n");
-
- Header[] hs=response.getAllHeaders();
- for(Header h:hs){
- System.out.println(h.getName()+":\t"+h.getValue()+"\n");
- }
-
- HttpEntity ety=response.getEntity();
- System.out.println(EntityUtils.toString(ety,"GBK"));
- EntityUtils.consume(ety);
-
- response.close();
三、完整的程序
为了方便观看,我直接在主函数上抛出异常了,真正写的时候需要try-catch-finally
返回结果: