`
diddyrock
  • 浏览: 46313 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Httpclient4.0使用

阅读更多
3.0有时候会有connection timing bug
the situation has not happened under 4.0
this is how to step forward to the 4.0 edition
不过4.0设计的不如3.0爽阿,包结构太复杂,源代码看起来很费劲,折腾了一天,留此
以记
:


this.params = new BasicHttpParams();
ConnManagerParams.setMaxTotalConnections(params, 5);
ConnManagerParams.setTimeout(params, TIME_OUT);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "UTF-8");


ArrayList headers = new ArrayList();
headers.add(new BasicHeader("User-Agent", FIRE_FOX_AGENT_WIN));
headers.add(new BasicHeader("Accept", "*/*"));
headers.add(new BasicHeader("Accept-Encoding", "x-gzip, gzip, deflate"));
headers.add(new BasicHeader("Accept-Language", "zh-cn,zh;q=0.5"));
headers.add(new BasicHeader("Accept-Charset", "gb2312,utf-8,ISO-8859-1;q=0.7,*;q=0.7"));
params.setParameter(ClientPNames.DEFAULT_HEADERS, headers);


HttpClientParams.setCookiePolicy(params, CookiePolicy.BROWSER_COMPATIBILITY);

HttpConnectionParams.setSoTimeout(params, 3000);
     HttpConnectionParams.setSocketBufferSize(params, 8*1024);
     HttpConnectionParams.setConnectionTimeout(params, 3000);
     params.setBooleanParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, true);
this.schemeRegistry = new SchemeRegistry();
this.schemeRegistry.register(
                new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
     this.schemeRegistry.register(
                new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
     this.cm = new ThreadSafeClientConnManager(this.params, this.schemeRegistry);
     this.httpClient = new DefaultHttpClient(this.cm, this.params);
HttpGet httpGet = new HttpGet(url);

HttpParams params = httpClient.getParams();
//params.getBooleanParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, false);
Header referer = new BasicHeader("Referer",url);
HttpResponse hre = httpClient.execute(httpGet,localContext);
//Header[] heads = httpClient.
Header[] heads = ((RequestWrapper)localContext.getAttribute(ExecutionContext.HTTP_REQUEST)).getAllHeaders();
System.out.println("request +++++++++++++++++++++++++++++++++++++");
for(int i=0;i<heads.length;i++){
System.out.println(heads[i].getName()+": "+heads[i].getValue());
}
分享到:
评论

相关推荐

    httpclient4.0 使用帮助、例子

    本篇文章将详细介绍HTTPClient 4.0的使用方法,包括其核心概念、基本操作和示例代码。 一、核心概念 1. HttpClient实例:HttpClient对象是执行HTTP请求的核心,负责建立连接、发送请求和接收响应。通过`...

    原创: httpclient 4.0 使用 - 访问开心网的各种组件 例子

    《HttpClient 4.0 使用详解:访问开心网组件实例》 HttpClient 是 Apache 开源基金会提供的一个 HTTP 客户端库,被广泛应用于 Java 开发中,用于执行 HTTP 请求。HttpClient 4.0 版本引入了许多改进和新特性,使得...

    httpclient4.0-jar

    在本篇文章中,我们将深入探讨HttpClient 4.0的核心特性,以及如何在实际开发中使用它。 首先,HttpClient 4.0的核心功能在于支持HTTP/1.1协议,包括GET、POST、PUT、DELETE等常见HTTP方法。它还支持HTTPS,确保...

    httpclient4.0

    在本文中,我们将深入探讨 HttpClient 4.0 的核心概念、使用方法以及它在实际开发中的应用场景。 一、HttpClient 4.0 概述 HttpClient 4.0 作为 Apache HttpClient 的一个主要版本,引入了许多新特性,如支持最新...

    Httpclient4.0和3.0及jsoup等相关jar包

    1.含有官方HttpClient4.0的jar包 2.有之前HttpClient3.0的jar包,就是import importorg.apache.commons.*; 3.包含jsoup,解析HTML的jar包 4.包含jcookie.jar及jtidy-r938.jar的jar包.

    httpclient4.0源文件

    HttpClient 4.0的设计目标是提供一个高效的、可扩展的、易于使用的HTTP客户端API。它支持多种HTTP协议版本,包括HTTP/1.0和HTTP/1.1,同时提供了对HTTPS和Digest认证的支持。此外,HttpClient 4.0还支持连接管理、重...

    基于Java + HTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行的新浪微博爬虫

    【作品名称】:基于Java + HTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行的新浪微博爬虫 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训...

    httpclient-4.0.jar

    httpclient-4.0.jar, httpclient-4.0.jar, httpclient-4.0.jar

    HttpClient 4.0的post()方法4个关键“头信息”设置

    HttpClient 4.0版本在功能性和稳定性方面都有了很大的提升,是广泛使用的版本之一。 ### 四个关键“头信息”的设置 根据提供的代码片段和描述信息,我们可以看到在使用HttpClient进行POST请求时,设置了四个重要的...

    HttpClient 4.0学习

    本篇将深入探讨HttpClient 4.0的主要功能、核心概念以及如何使用它。 1. **主要功能** HttpClient 4.0支持HTTP/1.1协议,并提供了多种功能,如: - 支持同步和异步请求 - 多种连接管理策略,如单一连接、多线程...

    Android升级后旧版本的httpclient4.0

    Android升级后旧版本的httpclient4.0 apache-mime4j-0.6 commons-codec-1.4 commons-logging-1.1.1 httpclient-4.0.1 httpcore-4.0.1 httpmime-4.0.1

    httpclient-4.0-beta1.jar

    httpclient-4.0-beta1.jar

    HttpClient 4.0中文教程

    ### HttpClient 4.0中文教程知识点总结 #### 一、HttpClient概述 **1.1 执行请求** - **HTTP请求**: HTTP请求包含了方法名称(GET、POST等)、URL以及必要的请求头信息。HttpClient允许开发者创建并发送这些请求...

    [原创] Java 天气预告 - htmlparser2.0 + httpclient4.0

    【Java天气预告】项目是基于htmlparser2.0和httpclient4.0这两个库实现的,主要用于抓取和解析网络上的天气信息。这个项目对于学习Java网络编程和HTML解析非常有帮助,它揭示了如何利用HTTP协议获取网页数据以及如何...

    基于JavaHTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行详细文档+资料齐全.zip

    基于JavaHTTPClient 4.0,采用MySQL存储爬取数据,支持多进程并发执行详细文档+资料齐全.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行...

    commons-httpclient依赖包

    包括了httpclient的所有包,commons-httpclient3.0.jar,httpclient4.0.jar,commons-logging1.1.1.jar,commons-codec-1.3.jar等

    用httpclient-4.0-alpha2 打造基于http协议的网站分析器

    在实际开发中,我们需要以下步骤来使用HttpClient-4.0-alpha2: 1. 创建HttpClient实例:根据项目需求,可以设置连接池、超时时间、重试策略等。 ```java CloseableHttpClient httpClient = HttpClients.create...

    httpclient-4.0-beta2.jar

    httpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jarhttpclient-4.0-beta2.jar

    HttpClient 4.0.3 Api 帮助文档 CHM格式

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,...本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。

Global site tag (gtag.js) - Google Analytics