- 浏览: 185927 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
louis0911:
发布项目的时候就报错。不知道什么原因。。。自己搭的也报错,把您 ...
Tomcat下发布webservice1 -
Mr_caochong:
非常好的博文,例子实用但是如何输出package信息呢
asm操作Java(二) -
wenjinglian:
up up
Js中escape(),encodeURI()和encodeURIComponent()使用和比较 -
makemyownlife:
看来还得补补知识
tomcat与apache区别 -
tinguo002:
非常的棒!谢谢楼主
对于[0] 和[1] 终于理解了咯,按照上 ...
iterator的用法
1、HttpClient使用GET方式通过代理服务器读取页面的例子
2、HttpClient 4 使用POST方式提交普通表单数据的例子
3、HttpClient 4.0通过代理访问Https的代码例子
4、HttpClient读取页面的使用例子
5、httpclient中文乱码解决
httpclient默认使用ISO-8859-1读取http响应的内容,如果内容中包含汉字的话就得动用丑陋的new String(str.getBytes("ISO-8859-1"),"GBK");语句了。
解决办法就是使用以下配置。
6、HttpClient 4处理文件上传的例子(MultipartEntity)
import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; /** * HttpClient使用GET方式通过代理服务器读取页面的例子。 * * @author JAVA世纪网(java2000.net, laozizhu.com) */ public class HttpClientGet { public static void main(String[] args) throws Exception { DefaultHttpClient httpclient = new DefaultHttpClient(); // 访问的目标站点,端口和协议 HttpHost targetHost = new HttpHost("www.java2000.net"); // 代理的设置 HttpHost proxy = new HttpHost("10.60.8.20", 8080); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); // 目标地址 HttpGet httpget = new HttpGet("/"); System.out.println("目标: " + targetHost); System.out.println("请求: " + httpget.getRequestLine()); // 执行 HttpResponse response = httpclient.execute(targetHost, httpget); HttpEntity entity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); if (entity != null) { System.out.println("Response content length: " + entity.getContentLength()); } // 显示结果 BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8")); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } if (entity != null) { entity.consumeContent(); } } }
2、HttpClient 4 使用POST方式提交普通表单数据的例子
import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; /** * HttpClient 4 使用POST方式提交普通表单数据的例子. * * @author JAVA世纪网(java2000.net, laozizhu.com) */ public class HttpClientPost { public static void main(String[] args) throws Exception { DefaultHttpClient httpclient = new DefaultHttpClient(); // 代理的设置 HttpHost proxy = new HttpHost("10.60.8.20", 8080); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); // 目标地址 HttpPost httppost = new HttpPost("http://www.java2000.net/login.jsp"); System.out.println("请求: " + httppost.getRequestLine()); // 构造最简单的字符串数据 StringEntity reqEntity = new StringEntity("username=test&password=test"); // 设置类型 reqEntity.setContentType("application/x-www-form-urlencoded"); // 设置请求的数据 httppost.setEntity(reqEntity); // 执行 HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); if (entity != null) { System.out.println("Response content length: " + entity.getContentLength()); } // 显示结果 BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8")); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } if (entity != null) { entity.consumeContent(); } } }
3、HttpClient 4.0通过代理访问Https的代码例子
import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; /** * HttpClient 4.0通过代理访问Https的代码例子。 * * @author JAVA世纪网(java2000.net, laozizhu.com) */ public class HttpsProxyGet { public static void main(String[] args) throws Exception { DefaultHttpClient httpclient = new DefaultHttpClient(); // 认证的数据 // 我这里是瞎写的,请根据实际情况填写 httpclient.getCredentialsProvider().setCredentials(new AuthScope("10.60.8.20", 8080), new UsernamePasswordCredentials("username", "password")); // 访问的目标站点,端口和协议 HttpHost targetHost = new HttpHost("www.google.com", 443, "https"); // 代理的设置 HttpHost proxy = new HttpHost("10.60.8.20", 8080); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); // 目标地址 HttpGet httpget = new HttpGet("/adsense/login/zh_CN/?"); System.out.println("目标: " + targetHost); System.out.println("请求: " + httpget.getRequestLine()); System.out.println("代理: " + proxy); // 执行 HttpResponse response = httpclient.execute(targetHost, httpget); HttpEntity entity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); if (entity != null) { System.out.println("Response content length: " + entity.getContentLength()); } // 显示结果 BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8")); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } if (entity != null) { entity.consumeContent(); } } }
4、HttpClient读取页面的使用例子
package com.laozizhu.apache.httpclient; 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读取页面的使用例子 * @author 老紫竹(java2000.net) * */ 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(); } } }
5、httpclient中文乱码解决
httpclient默认使用ISO-8859-1读取http响应的内容,如果内容中包含汉字的话就得动用丑陋的new String(str.getBytes("ISO-8859-1"),"GBK");语句了。
解决办法就是使用以下配置。
private static final String CONTENT_CHARSET = "GBK";// httpclient读取内容时使用的字符集 HttpClient client = new HttpClient(); client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, CONTENT_CHARSET);
6、HttpClient 4处理文件上传的例子(MultipartEntity)
import java.io.File; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; /** * HttpClient 4处理文件上传的例子(MultipartEntity).<br> * 需要 James Mime4j 0.5的版本,0.6的不行。 * * @author JAVA世纪网(java2000.net, laozizhu.com) */ public class HttpClientMultipartFormPost { public static void main(String[] args) throws Exception { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://localhost"); // 一个本地的文件 FileBody bin = new FileBody(new File("d:/BIMG1181.JPG")); // 一个字符串 StringBody comment = new StringBody("A binary file of some kind"); // 多部分的实体 MultipartEntity reqEntity = new MultipartEntity(); // 增加 reqEntity.addPart("bin", bin); reqEntity.addPart("comment", comment); // 设置 httppost.setEntity(reqEntity); System.out.println("执行: " + httppost.getRequestLine()); HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity(); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); if (resEntity != null) { System.out.println("返回长度: " + resEntity.getContentLength()); } if (resEntity != null) { resEntity.consumeContent(); } } }
- httpcore-4.0.1.jar (168.8 KB)
- 下载次数: 147
- httpclient-4.0.1.jar (284.2 KB)
- 下载次数: 154
发表评论
-
ThreadPoolExecutor使用介绍
2012-12-14 16:41 936private static ExecutorService ... -
基于Spring可扩展Schema
2012-12-14 15:58 918在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直 ... -
java调用dll或so文件注意事项
2011-11-15 10:05 5407Java的本地调用jni。调用c为例。在Windows下调 ... -
m2eclipse报错Unable to locate the Javac Compiler in:
2011-03-09 10:21 2449maven test时总报错: Unable to locat ... -
asm操作java(三)
2011-03-04 16:13 27891.Signature: a)说明:J2SE 5.0为了支持范 ... -
asm操作Java(二)
2011-03-04 16:11 82631.类: a)数组: i.创建 ... -
asm操作Java(一)
2011-03-04 16:08 25591.流程控制: a)说明:JVM提供了基本的流程控制结构,这些 ... -
JPA注解
2010-11-20 16:11 923JPA注解学习 -
HTTP的status状态值
2010-08-16 10:53 1094长整形标准http状态码,定义如下: Number Descr ... -
ContentType 类型大全
2010-07-31 12:37 1211关键字: contenttype ".asf&q ... -
Jboss启动&&停止
2010-05-11 16:53 1373建两个shell脚本start.sh、stop.sh [ro ... -
jxl操作
2010-04-30 11:11 1566import java.io.File; import ja ... -
java对象数组排序
2010-03-24 16:35 1845import java.util.ArrayList; im ... -
文件下载的几种方式
2010-03-19 16:00 823public HttpServletResponse dow ... -
JXL操作Excel
2010-03-02 09:18 981jxl是一个韩国人写的java操作excel的工具, 在开源世 ... -
万能解码器EncodingFilter
2009-12-17 23:24 0/** * $Id: EncodingFilter.jav ... -
java类获取天气预报信息
2009-10-23 18:18 2416网上有很多通过iframe的形式来显示其他网站上的天气预报,这 ... -
图片压缩
2009-09-17 15:19 1137/** * 图片压缩。 * @para ... -
JDOM解析XML
2009-09-16 23:51 1538package com.yujie.xml; impor ... -
DOM解析XML
2009-09-16 19:39 928public class Test_DOM { pub ...
相关推荐
通过`java_httpclient_post`这个文件名,我们可以推测其中可能包含了完整的示例代码或者相关教程,你可以参考这个文件来实践和学习HttpClient的POST请求使用。记住,实践是检验理论的最好方式,尝试运行这个例子,看...
HttpClient是Apache基金会开发的一个Java库,它为Java程序员提供了一个强大的HTTP客户端接口,可以用于执行HTTP请求并处理响应。...如果你正在处理与HTTP相关的任务,HttpClient无疑是一个值得考虑的选择。
HttpClient是Apache基金会开发的一个Java库,它为Java开发者提供了一种简单且强大的API来执行HTTP请求,无论是GET、POST还是...无论你是新手还是经验丰富的开发者,HttpClient都能帮助你更高效地完成HTTP相关的任务。
这个小例子中提供的项目源码应该包含了上述操作的示例代码,你可以直接导入并运行,以了解HttpClient的具体使用。通过学习和实践,你将能熟练掌握HttpClient在实际项目中的应用,如进行网页抓取、API调用等任务。
可以用作测试例子 测试流传输的接口需要用到,HTTPClient,jar包
5. HttpClientContext:上下文对象,用于传递与请求相关的上下文信息,如认证凭证、重定向策略等。 二、基本操作 1. 创建HttpClient实例: ```java CloseableHttpClient httpClient = HttpClients.createDefault...
在这个"httpclient 开发包以及例子"中,我们主要关注的是HttpClient 4.0-alpha2版本,以及与其相关的依赖库。 `httpclient-4.0-alpha2.jar`是HttpClient的核心库,包含了执行HTTP请求、处理响应和管理连接的主要类...
本篇将深入探讨基于Android 1.0_r1的HttpClient使用方法,以及相关的知识点。 首先,HttpClient是一个Java API,它提供了一个强大的、高度可定制的客户端HTTP协议实现。在Android 1.0_r1的时代,HttpClient是官方...
下面我们将深入探讨Android中使用HttpClient的例子及其相关知识点。 1. **HttpClient的基本概念** HttpClient是一个基于Java语言的HTTP客户端编程工具包,它提供了丰富的API,可以方便地创建、发送和处理HTTP请求...
首先,我们需要在项目中引入HttpClient的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient <version>4.5.13 ``` 接...
这个例子“android和httpclient结合”旨在帮助初学者理解如何在Android项目中集成和使用HttpClient进行网络请求。 首先,HttpClient是一个强大的、可扩展的HTTP客户端,支持多种HTTP协议版本,包括HTTP/1.1。它提供...
httpclient 编写java代码 系统自动登入别人的系统进行操作。
HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。...这篇博客文章“httpclient的入门实例”可能是...对于源码分析和工具使用,你可以参考HttpClient的官方文档和相关教程,进一步了解其实现细节和优化技巧。
### HttpClient入门介绍与实例解析 #### 一、HttpClient概述 HttpClient是Apache Jakarta Commons项目下的一个子项目,提供了高效、功能丰富的HTTP客户端实现。它不仅支持HTTP协议的基本操作,还提供了高级功能,...
在"Httpclient+testng接口测试小例子"中,我们将使用以下步骤进行接口测试: 1. **环境准备**:首先,确保项目中已经添加了Apache HttpClient和TestNG的依赖。这些通常通过Maven或Gradle等构建工具进行管理,通过在...
接下来,我们将深入探讨HTTPClient库,它的用法,以及POST和GET方法的基本概念。 HTTPClient是Apache软件基金会的 HttpClient项目提供的一个开源库,它是Java平台上的一个HTTP客户端实现。这个库提供了丰富的功能,...
在这个例子中,我们创建了一个HttpClient实例,然后发起一个GET请求到`http://example.com`,并打印出响应状态行和响应体内容。注意,每次操作完成后,都需要关闭响应和HttpClient实例以释放资源。 HttpClient还...
在这个例子中,我们有一个基于HttpClient的身份证信息查询示例,它通过身份证号码调用必应接口来获取个人信息。 首先,你需要将提供的JAR包添加到你的项目类路径(ClassPath)中。这个JAR包可能包含了HttpClient库...
这些例子对于初学者来说是极好的学习资源,可以帮助他们快速理解和掌握HttpClient的用法。 HttpClient的架包(JAR文件)通常包含所有必要的类和资源,使得开发者可以直接在他们的项目中引用,以便实现HTTP通信功能...
httpclient带附件和不带件的例子以及SOAP请求的例子,该压缩包解压后是一个java web工程,直接引入到eclipst下就可以。要在Build Path——Configure Build Path中添加tomcat的lib包。