`
xiaoboss
  • 浏览: 650028 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java 网络利器httpclient之七种武器

    博客分类:
  • java
阅读更多

如果你是迈克尔杰克逊歌迷还可以访问我们歌迷会的网站: 迈克尔杰克逊音乐纪念站

 

http://www.gbsou.com/2009/09/28/980.htmlJava 网络利器httpclient之七种武器

 

Apache Common HttpClient使用之七种武器

1.拳头之Get/Post
拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步 。
HttpClient httpclient=new HttpClient();//创建一个客户端,类似打开一个浏览器   
GetMethod getMethod=new GetMethod("http://www.blablabla.com");//创建一个get方法,类似在浏览器地址栏中输入一个地址   
int statusCode=httpclient.executeMethod(getMethod);//回车——出拳!   
System.out.println("response=" + getMethod.getResponseBodyAsString());//察看拳头命中情况,可以获得的东西还有很多,比如head, cookies等等   
getMethod.releaseConnection();//释放,记得收拳哦   

2.孔雀翎之支持https

如何支持https?

 

static{   
    Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);   
    Protocol.registerProtocol("https", easyhttps);   
}   

 

在执行具体的http method之前,暗中将https协议注册一把,如孔雀翎暗藏玄机,毙敌于无形。记住,官方的binary发行版本没有ssl的contribute包,方法一是下载源代码版本来打造你的孔雀翎。

3.多情环之cookies
常道人老多情,其实是记忆太多,所以情之所至,正如cookies甜心,无论你走到那,总把你牵挂:

HttpClient httpclient=new HttpClient();   
httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);//RFC_2109是支持较普遍的一个,还有其他cookie协议   
HttpState initialState = new HttpState();   
Cookie cookie=new Cookie();   
cookie.setDomain("www.balblabla.com");   
cookie.setPath("/");   
cookie.setName("多情环");   
cookie.setValue("多情即无情");   
initialState.addCookie(cookie);   
httpclient.setState(initialState);   
…  

 

4.离别钩之解构cookies
多情环的反面即离别钩,钩出,敌之身体某个部件即要与身体别离,端的是无情:
…//执行了某些get/post方法后   
Cookie[] cookies = httpclient.getState().getCookies();   
System.out.println("Present cookies: ");   
for (int i = 0; i < cookies.length; i++) {//循环结构零部件   
    System.out.println(" - " + cookies[i].toExternalForm());   
    System.out.println(" - domain=" + cookies[i].getDomain());   
    System.out.println(" - path=" + cookies[i].getPath());   
    …             
}  
 

5.霸王抢之post参数
枪,长兵器之王,诸多名将均使一杆或金或银命名的名枪,比如岳飞。post方法在提交参数对时,犹如灵蛇出洞:

PostMethod postMethod = new PostMethod("http://www.saybot.com/postme");   
NameValuePair[] postData = new NameValuePair[2];   
postData[0] = new NameValuePair("武器", "枪");   
postData[1] = new NameValuePair("什么枪", "神枪");   
postMethod.addParameters(postData);   
…//出枪吧   

 

6.七星碧玉刀之支持代理(proxy)
代理,非常重要,尤其在局域网横行的年头,没有代理,你在公司上不了QQ,没有代理,google不了网页快照,代理之威,可比七星碧玉刀,无刀,在局域网和开发当中,一切白搭:
HttpClient httpclient=new HttpClient();   
httpClient.getHostConfiguration().setProxy("192.168.0.1", 9527);   
httpClient.getParams().setAuthenticationPreemptive(true);//重要!!!告诉httpclient,使用抢先认证,否则你会收到“你没有资格”的恶果   
/*  
  这一步也至关重要,MyProxyCredentialsProvider实现了org.apache.commons.httpclient.auth.CredentialsProvider接口,  
  返回代理的credential(username/password)*/   
httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, new MyProxyCredentialsProvider());   
httpClient.getState().setProxyCredentials(   
    new AuthScope("192.168.0.1",   
        AuthScope.ANY_PORT, //任意端口哦,可要小心   
        AuthScope.ANY_REALM),//任意域哦,可要小心   
new UsernamePasswordCredentials("username",//proxy的用户名   
                        "password"));//proxy的密码 
 

7.长生剑之天下第一
看httpclient的官方文档:jakarta.apache.org/commons/httpclient/userguide.html
看Hilton网友写的小葵花宝典笔记:www.cnjm.net/tech/article1155.html
通读后,你会有种拔剑四顾心茫然的高手感觉。

七种武器,打完收工!

分享到:
评论

相关推荐

    Java网络通信之HttpClient

    本篇将详细探讨`Java网络通信之HttpClient`的相关知识点,以及如何通过`HttpClientTest`进行实践操作。 首先,让我们了解什么是Apache HttpClient。HttpClient是一个开放源代码的Java库,它允许开发人员执行HTTP和...

    java httpclient 模拟登录

    在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...

    Java 使用HttpClient保持SESSION状态

    下面我们将详细探讨如何在Java中使用HttpClient来实现这一目标。 首先,我们需要导入必要的Apache HttpClient库,通常包含以下依赖: ```xml &lt;groupId&gt;org.apache.httpcomponents &lt;artifactId&gt;httpclient ...

    JAVA httpclient jar下载

    httpclient常用封装工具 doGet(String url, Map, String&gt; param) doPost(String url, Map, String&gt; param) doPostJson(String url, String json)

    JAVA利用HttpClient进行HTTPS接口调用

    接下来,`HttpClientUtil.java`文件可能是实现HttpClient工具类,提供一个静态方法来创建和初始化HttpClient实例。这个方法可能包含以下步骤: 1. 创建一个CloseableHttpClient实例,通常使用HttpClientBuilder构建...

    java-HttpClient学习,和解析html.zip

    java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_...

    Java HttpClient 全部的jar包

    它是HttpClient进行网络通信的基础。 7. `httpmime-4.x.x.jar`: 这个库扩展了HttpClient,支持MIME类型的HTTP请求,如上传文件、处理多部分表单数据等。 8. `log4j-1.2.x.jar`: 这是一个日志记录框架,通常与...

    java httpClient 工具类 java httpClient 工具类

    java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient ...

    java实现httpClient样例

    这个样例项目旨在帮助初学者理解如何在Java中使用HttpClient来与Web服务器进行交互。 在JavaHttpProject这个项目中,你可以找到以下关键知识点: 1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。...

    java使用HttpClient通过url下载文件到本地

    对于网络编程,HttpClient是一个高效且灵活的选择。 2. **Eclipse环境配置**: 在Eclipse中使用HttpClient,首先需要将相关的jar包添加到项目的类路径中。这些jar包通常包括`httpclient`, `httpcore`, `httpmime`...

    java httpclient

    用java实现httpclient请求的类

    Java-HttpClient帮助文档

    总结,HttpClient是Java中强大的HTTP客户端工具,提供了丰富的功能和高度的灵活性,适用于各种网络编程场景。通过理解和掌握HttpClient的使用,开发者能够更好地实现与HTTP服务器的交互,处理复杂的网络任务。查阅...

    Java中Httpclient需要的jar包(httpclient.jar,httpcore.jar及commons-logging.jar)

    在Java编程中,Apache HttpClient库是一个非常重要的工具,它提供了丰富的功能来执行HTTP请求,包括GET、POST等方法。这个库使得开发者能够方便地与Web服务器进行交互,处理各种HTTP协议相关的任务。在标题和描述中...

    JAVA调用HTTP及httpclient的详细说明

    而在Java编程语言中,开发者可以选择多种方式来实现HTTP请求的发送与接收,其中`HttpURLConnection`和`HttpClient`是两种常用的工具。本文将详细介绍如何使用`HttpURLConnection`以及`HttpClient`库来进行HTTP请求的...

    java,HttpClient模拟上传,绕过SSL认证

    SSL认证是网络安全的一种机制,用于验证服务器的身份,防止中间人攻击。但在开发环境中,为了快速测试,我们可能希望绕过这些认证。本文将详细介绍如何使用Java和HttpClient来模拟HTTPS文件上传,并跳过SSL验证。 ...

    commons-httpclient-3.0.jar JAVA中使用HttpClient可以用到

    总结,`commons-httpclient-3.0.jar`在JAVA中的应用,不仅提供了一种简单易用的HTTP客户端实现,还具有丰富的特性和扩展性,对于理解和实现网络通信具有重要的学习价值。然而,随着技术的进步,开发者应关注并适时...

    java commons.httpclient3.0

    org.apache.commons.httpclient 3.0版本。直接在官方网站下载,总是提示找不到类的错,自己找了缺少的包,放到一起,直接引用就可以,比3.0新的没有GetMethod 。所以没有使用最新的包。

    JAVA-用HttpClient来模拟浏览器GET,POST.docx

    JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...

    java 中HttpClient传输xml字符串实例详解

    至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...

    高效池化-JAVA-HttpClient工具类

    1.高效简单池化的HttpClient工具类,提供单元测试用列。 2.支持基于SpringBoot 2.1.x的自动装载模块,引用依赖即可使用。 3.公司几十个项目都使用该工具类访问第三方的Http/Https+json协议接口。 4.经过上市公司多个...

Global site tag (gtag.js) - Google Analytics