页面抓取相关之HttpClient
来源:互联网 发布:oracle数据最大长度 编辑:程序博客网 时间:2024/05/21 06:38
百科名片
HTTP协议可能是现在Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.1.
环境配置
从官网下载httpclient,下载地址http://hc.apache.org/downloads.cgi; 之后将httpclient的jar包导入工程
主要应用的类
类名
作用
HttpClient
HttpClient代表了一个http的客户端,HttpClient接口定义了大多数基本的http请求执行行为.
HttpEntity
entity是发送或者接收消息的载体。entities 可以通过request和response获取到.
HttpConnection
HttpConnection代表了一个http连接。
一个简单的工具类
/** * USER_AGENT:User-Agent属性值. * * @since JDK 1.6 */public static final StringUSER_AGENT= "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.2)";/** * ACCEPT_LANGUAGE:Accept-Language属性值. * * @since JDK 1.6 */public static final StringACCEPT_LANGUAGE= "zh-cn,zh;q=0.5";/** * ACCEPT_CHARSET:Accept-Charset属性值. * * @since JDK 1.6 */public static final StringACCEPT_CHARSET= "GB2312,utf-8;q=0.7,*;q=0.7";/** * pageDown: 获取网页代码 * * @author liuqi_nad * @param url 网页的url * @return * @since JDK 1.6 */public static String pageDown(String url){HttpClient httpclient = new DefaultHttpClient();String pageContent = "";try {HttpGet httpget = new HttpGet(url);httpget.setHeader("User-Agent", USER_AGENT);httpget.setHeader("Accept-Language", ACCEPT_LANGUAGE);httpget.setHeader("Accept-Charset", ACCEPT_CHARSET);HttpResponse response = httpclient.execute(httpget);HttpEntity entity = response.getEntity();pageContent = EntityUtils.toString(entity);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {}return pageContent;}
这是一个非常简陋的工具类,里面使用了Httpclient的最基本用法。
首先创建Httpclient和HttpGet的实例,通过httpclient执行get请求
将返回的响应创建实体,最后通过提供的EntityUtils工具类将代码
打印出来
- 页面抓取相关之HttpClient
- 使用HttpClient登陆网站 抓取页面数据
- httpClient抓取页面的简易使用
- 聚焦网络爬虫之Xpath+HttpClient快速实现页面新闻抓取
- httpclient抓取
- httpclient自动获取页面编码,解决网页抓取乱码问题
- HttpClient抓取【需登录跳转页面】的数据
- 网络爬虫--如何抓取html页面和httpClient的使用
- 如何抓取WEB页面 发送head 相关
- httpclient 网页抓取 几个问题
- HTTPCLIENT抓取网页内容
- HttpClient抓取网页
- httpclient抓取免费停车场
- HttpClient 抓取网页
- httpclient学习抓取网页
- httpclient+jsoup抓取数据
- python爬虫学习之抓取一个页面
- HttpClient相关
- android 抓屏
- 【程序猿笔试面试解题指南】寻找最小的k个数
- Aaron Swartz:我是怎么招聘程序员的
- c预处理器
- [笑一笑]我想再遇见的电脑高手
- 页面抓取相关之HttpClient
- 使用rdate进行时间同步
- BIEE博文链接
- css:文本两端对齐
- 2012年3月5日有感
- make menuconfig详解
- javascript 获取控件坐标
- 文本框自动换行
- 信用卡怎么付款给PayPal?