`

httpclient4的应用

 
阅读更多
httpclient一个实现了HTTP协议的客户端编程工具包
一个使用的背景:登录需要验证,需要压力测试一下,用webdriver等工具搞不定
就用到了他,有ocr开源的工具,结合httpclient完美的处理了

网上的例子主要是3的版本,这里主要是总结一下4的版本

首先放几个例子这儿参考:
http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2113252.html
http://blog.csdn.net/java2000_net/article/details/3720571

本身带的例子也不错:下载地址,api的参考
http://hc.apache.org/downloads.cgi

放一个例子这儿,自己参考:


DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet getMethod = new HttpGet(
"http://10.101.2.13:28080/ECLink//rand.action");
HttpPost httpost = new HttpPost(
"http://10.101.2.13:28080/ECLink/user_validLogin.action");

try {
String yzm = "";
HttpResponse response = httpclient.execute(getMethod);
Header headers[] = response.getAllHeaders();
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
StringBuilder cookieValue = new StringBuilder();
if (cookies.isEmpty()) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
cookieValue.append(cookies.get(i).toString());
}
}
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
saveFile(instream, "2.bmp");
InputStream instream2 = new FileInputStream("2.bmp");
BufferedImage bi = ImageIO.read(instream2);
yzm = ImageRead.read(bi, 1);
System.out.println(yzm + "-----------------------------");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("userName", "admin"));
nvps.add(new BasicNameValuePair("password", "888888"));
nvps.add(new BasicNameValuePair("validCode", yzm));
httpost.setEntity(new UrlEncodedFormEntity(nvps));
response = httpclient.execute(httpost);
HttpEntity entity1 = response.getEntity();
if (entity1 != null) {
// System.out.println("Response content: " +
// inputStream2String(entity1.getContent()));
saveFile(entity1.getContent(), "3.html");
instream.close();
}




for (int i = 1; i <= 1; i++) {
List<NameValuePair> list1 = new ArrayList<NameValuePair>();
HttpPost httpost1 = new HttpPost("http://10.101.2.13:28080/ECLink/computerCheck_computerCheck.action");
list1.add(new BasicNameValuePair("sgid", sgid.trim()));

httpost1.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8); 
httpost1.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8); 
httpost1.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8); 
httpost1.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET, HTTP.UTF_8); 
httpost1.setEntity(new UrlEncodedFormEntity(list1,HTTP.UTF_8));


response = httpclient.execute(httpost1);

HttpEntity entity2 = response.getEntity();
if (entity2 != null) {
// System.out.println("Response content: " +
// inputStream2String(entity1.getContent()));
saveFile(entity2.getContent(), "408.html");
instream.close();
}
httpost1.abort();
}
}

} catch (Exception e) {
e.printStackTrace();
} finally {
httpost.abort();
getMethod.abort();
}


对于大的表单,感觉也不是很方便,还是没有直接用自动测试工具方便

分享到:
评论

相关推荐

    C#HTTPclient 实例应用

    学习C#必经之路,入门级知识总结,笔记本知识概况,走一步再走一步

    Commons HTTPClient4&#46;X组件应用示例

    Commons HTTPClient4&#46;X组件应用示例

    HTTPClient组件的应用

    HTTPClient组件的应用

    httpclient4_中文版帮助文档.

    httpclient4 中文版帮助文档,最新官方版翻译版 前言 超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了。Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的...

    HttpClient之Https应用实例

    HttpClient之Https应用实例~ 包含: HttpClient 使用代理访问Https HttpClient 信任所有主机-对于任何证书都不做检查 HttpClient 允许所有证书的校验(包括过期证书)

    httpclient 4 全部JAR包下载

    HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient

    apache-httpclient应用所有jar

    这是httpclient应用所有jar,用户抓取请求内容,本人平时用的就是这个,欢迎下载!

    ApacheCommons-HTTPClient组件的应用.doc

    ApacheCommons-HTTPClient组件的应用.doc

    应用HttpClient时添加的代码。

    应用HttpClient时添加的代码。应用HttpClient时添加的代码。应用HttpClient时添加的代码。应用HttpClient时添加的代码。应用HttpClient时添加的代码。应用HttpClient时添加的代码。应用HttpClient时添加的代码。

    httpclient4.2.1

    HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java ...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。

    HttpClient以及获取页面内容应用

    压缩包中含有多个文档,从了解httpclient到应用。 httpClient 1httpClint 1.1简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持...

    httpclient相关的jar包

    HTTP 协议可能是现在 Internet 上...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.2 (GA)

    HttpClient

    HTTP 协议可能是现在 Internet 上使用得最多、...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见...

    HttpClient API CHM

    HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java ...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,

    HttpClient3.1 学习整理

    HttpClient3.1 学习整理,应用HttpClient来对付各种顽固的WEB服务器

    Commons-HTTPClient组件介绍与使用

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。

    annotation httpClient(annotation类型应用程序设计举例)

    文档由五篇博客组成,说明了如何使用代理技术实现Annotation HttpClient通过,阅读这五篇博客,应该能够大致了解如何实现一个Annotation类型应用的框架。此外,配备了相应的Annotation HttpClient的源码,以供大家...

    httpclient-4.5所需jar包

    HTTP 协议可能是现在 Internet 上使用...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.5 .6

    httpclient应用

    httpclient应用,支持get/post请求,支持https请求。

Global site tag (gtag.js) - Google Analytics