`
xiaoboss
  • 浏览: 648248 次
  • 性别: 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进行HTTPS接口调用

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

    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通过url下载文件到本地

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

    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来与Web服务器进行交互。 在JavaHttpProject这个项目中,你可以找到以下关键知识点: 1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。...

    java httpclient

    用java实现httpclient请求的类

    Java-HttpClient帮助文档

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

    JAVA调用HTTP及httpclient的详细说明

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

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

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

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

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

    java commons.httpclient3.0

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

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

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

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

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

    高效池化-JAVA-HttpClient工具类

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

    java实现HttpClient异步请求资源的方法

    本篇文章将详细介绍如何使用Java的HttpClient实现异步请求资源。 首先,让我们了解什么是异步请求。在同步请求中,调用一个API或发送一个HTTP请求后,程序会等待响应返回,然后继续执行后续代码。而异步请求则不同...

    java使用HttpClient发送http请求

    “工具”标签表明HttpClient是一个实用工具,可以与其他Java项目集成,提高开发效率。在实际项目中,你可能需要结合其他库,如Jackson或Gson处理JSON数据,或者使用OkHttp等替代方案。 在提供的文件`HttpTest`中,...

Global site tag (gtag.js) - Google Analytics