- 浏览: 172188 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
crabboy:
goodhttp://veerle.duoh.com/comm ...
表格效果 -
lunvsxiao:
好呀,省的自己记那么多了。。
java常用正则表达式
import java.net.Socket;
import org.apache.http.ConnectionReuseStrategy;
import org.apache.http.Header;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.impl.DefaultConnectionReuseStrategy;
import org.apache.http.impl.DefaultHttpClientConnection;
import org.apache.http.message.BasicHttpRequest;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.BasicHttpProcessor;
import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestExecutor;
import org.apache.http.protocol.RequestConnControl;
import org.apache.http.protocol.RequestContent;
import org.apache.http.protocol.RequestExpectContinue;
import org.apache.http.protocol.RequestTargetHost;
import org.apache.http.protocol.RequestUserAgent;
import org.apache.http.util.EntityUtils;
/**
* HttpClient读取页面的使用例子
*/
public class HttpGet {
public static void main(String[] args) throws Exception {
HttpParams params = new BasicHttpParams();
// HTTP 协议的版本,1.1/1.0/0.9
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
// 字符集
HttpProtocolParams.setContentCharset(params, "UTF-8");
// 伪装的浏览器类型
// IE7 是
// Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)
//
// Firefox3.03
// Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
//
HttpProtocolParams.setUserAgent(params, "HttpComponents/1.1");
HttpProtocolParams.setUseExpectContinue(params, true);
BasicHttpProcessor httpproc = new BasicHttpProcessor();
httpproc.addInterceptor(new RequestContent());
httpproc.addInterceptor(new RequestTargetHost());
httpproc.addInterceptor(new RequestConnControl());
httpproc.addInterceptor(new RequestUserAgent());
httpproc.addInterceptor(new RequestExpectContinue());
HttpRequestExecutor httpexecutor = new HttpRequestExecutor();
HttpContext context = new BasicHttpContext(null);
HttpHost host = new HttpHost("www.java2000.net", 80);
DefaultHttpClientConnection conn = new DefaultHttpClientConnection();
ConnectionReuseStrategy connStrategy = new DefaultConnectionReuseStrategy();
context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, host);
try {
String[] targets = { "/", "/help.jsp" };
for (int i = 0; i < targets.length; i++) {
if (!conn.isOpen()) {
Socket socket = new Socket(host.getHostName(), host.getPort());
conn.bind(socket, params);
}
BasicHttpRequest request = new BasicHttpRequest("GET", targets[i]);
System.out.println(">> Request URI: " + request.getRequestLine().getUri());
context.setAttribute(ExecutionContext.HTTP_REQUEST, request);
request.setParams(params);
httpexecutor.preProcess(request, httpproc, context);
HttpResponse response = httpexecutor.execute(request, conn, context);
response.setParams(params);
httpexecutor.postProcess(response, httpproc, context);
// 返回码
System.out.println("<< Response: " + response.getStatusLine());
// 返回的文件头信息
Header[] hs = response.getAllHeaders();
for (Header h : hs) {
System.out.println(h.getName() + ":" + h.getValue());
}
// 输出主体信息
System.out.println(EntityUtils.toString(response.getEntity()));
System.out.println("==============");
if (!connStrategy.keepAlive(response, context)) {
conn.close();
} else {
System.out.println("Connection kept alive...");
}
}
} finally {
conn.close();
}
}
}
HTTPClient官方网站下载:http://hc.apache.org/downloads.cgi
相关资料列表:http://www.java2000.net/f606
httpcomponents-client-4.0的项目包
- httpcomponents-client-4.0-bin-with-dependencies.zip (2.5 MB)
- 下载次数: 4
发表评论
-
取文件MD5的应用
2011-09-14 14:06 719import java.io.File; import ja ... -
用 Quartz 进行作业调度
2010-10-09 11:18 855Quartz 是个开源的作业调度框架,为在 Java 应用程序 ... -
Java读取中文文件出现乱码解决方法
2010-09-04 11:22 852前些天在读取一个UTF-8文件时,中文出现乱码,现在将处 ... -
Java项目中获取文件路径的问题总结
2010-09-03 11:36 0在项目中,或多或少都会涉及到获取文件的路径,然而处理也是多种多 ... -
java文件读取 编码方式设置
2010-09-02 16:28 935FileInputStream fr = new FileIn ... -
java获取项目路径
2010-08-25 12:00 2077在jsp和class文件中调用的相对路径不同。 在jsp里 ... -
websphere升级后,URLRewriter失效的处理办法
2010-05-24 13:20 1647进入控制台-》服务器-》应用程序服务器-》Web 容器 > ... -
模态窗口在web中的应用
2010-03-27 12:57 1621在web开发中,很多地方可能需要弹出模态窗口来进行处理,但在模 ... -
java文件上传本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/1
2010-03-05 18:38 1373Apache Commons fileUpload实现文件上传 ... -
Tomcat的class加载的优先顺序一览
2010-02-21 22:16 1343Tomcat的class加载的优先顺序一览1.最先是$JAVA ... -
删除eclipse或者MyEclipse记录的workspace
2010-01-13 10:28 1570在开发过程中可能建立了很多工作台,但随着开发的进行,可能有的工 ... -
文件上传组件的编写
2009-12-18 10:45 1245张孝祥的教程:文件的上传组件编写,希望对你有帮助! -
JAVA对象比较器Comparator
2009-10-24 17:45 1843JAVA对象比较器Comparator ... -
JAVA中通过类名,自动创建对象,并且合理初始化(自动找到合适的构造方法)
2009-10-24 16:03 2620JAVA中通过类名,自动创建对象,并且合理初始化(自动找到合适 ... -
Java软件架构师所要学的东西
2009-09-23 15:05 1505选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己 ... -
Java正则表达式
2009-09-14 15:01 1283众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字 ... -
用commons的HttpClient和FileUpload写的文件上传下载类
2009-09-09 17:12 2217用commons的HttpClient和FileUpload写 ... -
use HTTPClient for loading image from URL
2009-09-09 15:01 1684读取JPEG,PNG,TIFF图像格式的文件。 ... -
开源XML处理包:Digester
2009-09-09 10:19 1369一、Digester简介Jakar ... -
Quartz CronTrigger最完整配置说明
2009-09-08 09:30 1219CronTrigger配置格式:格式: [秒] [分] [小时 ...
相关推荐
### Commons HTTPClient4.X 组件应用详解 #### 一、引言 随着互联网技术的发展,越来越多的应用场景需要直接通过HTTP协议访问Web服务器上的资源。传统的做法是使用浏览器或者基于JDK提供的`java.net`包中的类如`...
在Java应用中,HttpClient-4经常用于网页抓取、API调用、数据传输等场景。 Apache HttpClient 4.2.2是这个库的一个特定版本,包含了对HTTP/1.1协议的全面支持,以及对HTTP/2的初步支持。此版本修复了一些已知问题,...
本知识点将详细讲解与HTTPClient相关的三个关键组件:`commons-codec-1.3`、`commons-httpclient-3.0.1`和`commons-logging-1.1.1`。 1. **`commons-codec-1.3`**: 这个库是Apache Commons项目的一部分,提供了一...
对于新的项目,推荐使用Apache HttpClient 4.x或更高版本,或者考虑使用Java 7及以后版本提供的内置`java.net.HttpURLConnection`,因为这些更新的解决方案通常有更好的性能和兼容性,并且与现代Java生态系统更好地...
HTTPClient是用于执行HTTP请求的客户端库,而Log4j则是一个流行的日志记录框架。这两个组件在许多企业级应用中都扮演着核心角色。 HTTPClient 4.5.2 是一个成熟的HTTP客户端API,由Apache软件基金会开发并维护。它...
HttpClient使用这个库来记录其内部操作,方便开发者调试和追踪问题。 4. `commons-codec-1.4-javadoc.jar`:这个文件包含了Commons Codec库的Java文档,开发者可以通过查阅它来了解库中各个类和方法的详细信息,...
5. `httpclient-4.x.x.jar`: 这是HttpClient的核心库,包含了所有HTTP协议相关的类和方法,如创建HTTP请求、设置请求头、处理响应、管理连接池等。 6. `httpcore-4.x.x.jar`: Apache HttpCore是HttpClient的基础...
6. `commons-logging-1.x.jar`:这是一个轻量级日志框架,HttpClient通过它进行日志记录。 使用`httpclient-4.5.jar`时,需要注意线程安全性和连接管理。HttpClient支持多线程环境,但必须正确配置连接池和管理策略...
6. **commons-logging-x.x.jar**:这是一个日志抽象层,HTTPClient使用它来记录运行时信息。它允许开发者选择不同的日志实现,如log4j或java.util.logging。 7. **commons-codec-x.x.jar**:提供了常见的编码和解码...
在HTTPCLIENT中,日志记录是调试和问题追踪的关键工具。Apache Log4j是Java领域广泛应用的日志框架之一。它允许开发人员控制日志信息的级别,比如DEBUG、INFO、WARN、ERROR等,并可以将日志输出到不同的目的地,如...
在HttpClient中,它用于记录请求和响应的信息,帮助开发者调试和追踪问题。 Commons-Logging允许程序在不修改代码的情况下切换到其他日志框架,如Log4j或Java内置的日志系统。 了解这些库后,我们可以深入学习以下...
"json-lib"是一个与HttpClient相关的标签,表明这个压缩包可能还包括了处理JSON数据的库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务之间的数据传输。json-lib是一个Java库,...
以下是对HttpClient3.1及其相关组件的详细解释: 1. **HttpClient**:HttpClient是Apache软件基金会的Jakarta项目的一部分,它提供了一套强大的API,使得开发者可以方便地执行HTTP请求,处理HTTP响应,并实现复杂的...
7. **日志记录**:添加日志功能,记录请求和响应详情,便于调试和监控。 8. **泛型支持**:通过泛型方法,可以直接将响应内容转换为目标类型,简化代码。 例如,一个简单的封装可能如下所示: ```csharp public ...
2. **下载 Commons Logging**:HttpClient 需要依赖 Commons Logging 来记录日志信息。可以访问 [http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi]...
HttpClient使用它来记录信息和错误。 4. `commons-codec-1.4.jar`:提供了各种编码算法,如Base64和Hex,HttpClient可能用它来编码URL、处理cookies或其他需要编码的数据。 在使用HttpClient时,开发者需要注意一些...
HttpClient使用它来记录执行过程中的一些信息,方便调试和问题定位。 三、使用HttpClient进行POST和GET 1. GET请求:通过HttpClient,我们可以轻松创建GET请求。首先,创建一个`HttpGet`对象,设置请求的URL,然后...
### 4. 设置HTTP头 你可以通过`HttpClient.DefaultRequestHeaders`来设置请求头,例如添加`Accept`、`Authorization`等头信息。 ```csharp httpClient.DefaultRequestHeaders.Accept.Add(new ...