【HttpClient4.5实训】一.HttpClient4.5模拟浏览器GET请求访问新浪网(非原文教程)
2015-07-30 15:31
525 查看
更多HttpClient4.5教程请访问点击打开链接
=====================================================================
问题:模拟浏览器访问新浪网http://www.sina.com.cn/并解析返回结果
一、分析
经过前面的学习,已经能掌握了GET请求并解析返回结果,如下图:
一个使用HttpClient4.5典型的GET访问步骤为:
1.构建HttpClient-------------->首先你得有一个浏览器
2.构建请求(起始行、首部)
3.使用HttpClient执行请求
4.解析相应(起始行、首部、实体)
另外还包括释放资源HttpClient、实体、响应
二、构建
下面就按照上面的步骤来进行构造
导入HttpClient4.5的库(本文用Eclipse4.4)
1.构建HttpClient
程序结尾需要关闭
client.close();
2.构建请求
3.执行请求
三、完整的程序
为了方便观看,我直接在主函数上抛出异常了,真正写的时候需要try-catch-finally
返回结果:
=====================================================================
问题:模拟浏览器访问新浪网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.构建请求
//请求起始行--HttpClient会根据信息自动构建 HttpGet get=new HttpGet("http://www.sina.com.cn/"); //请求首部--可选的,User-Agent对于一些服务器必选,不加可能不会返回正确结果 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"));//新浪网的编码格式个GBK EntityUtils.consume(ety);//释放实体 response.close();//关闭响应
三、完整的程序
为了方便观看,我直接在主函数上抛出异常了,真正写的时候需要try-catch-finally
返回结果:
相关文章推荐
- HTTPS单向认证和双向认证
- 网路总结01-HTTP协议和NSURLConnection
- 微软推送Win10致全球网络负担增大,中国网友表示毫无压力
- 安卓如何控制不会重复请求网络
- Linux网络编程 - 非阻塞connect
- Kubernetes技术分析之网络
- nfs网络文件系统
- 对TCP/IP网络协议的深入浅出归纳 注:浅显易懂的分析
- iOS9.0 网络请求错误解决
- 网络编程系列之六 pcap库拾遗与结构体
- httpWebRequest 文件下载
- 利用HttpWebRequest访问WebApi
- 网络中数据传输过程的分析
- 【转载】深入浅出http请求
- cmd (网络命令大全)
- 好霸气!Windows 10发布首日全球网络流量飙升35%
- Socket 通信原理(Android客户端和服务器以TCP UDP方式互通)
- $http
- Web Server 和 HTTP协议
- HTTP 和 HTTPS 协议