1.拳头之Get/Post
拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步。
java 代码
- HttpClient
httpclient
=
new
HttpClient
();
- GetMethod getMethod=new
GetMethod(
"http://www.blablabla.com"
);//创建一个get方法,类似在浏览器地址栏中输入一个地址
- int
statusCode=httpclient
.executeMethod(getMethod);
- System.out.println("response="
+ getMethod.getResponseBodyAsString());
- getMethod.releaseConnection();
2.孔雀翎之支持https
如何支持https?
java 代码
- static
{
- Protocol easyhttps = new
Protocol(
"https"
,
new
EasySSLProtocolSocketFactory(),
443
);
- Protocol.registerProtocol("https"
, easyhttps);
- }
在执行具体的http method之前,暗中将https协议注册一把,如孔雀翎暗藏玄机,毙敌于无形。记住,官方的binary发行版本没有ssl的contribute包,方法一是下载源代码版本来打造你的孔雀翎。
3.多情环之cookies
常道人老多情,其实是记忆太多,所以情之所至,正如cookies甜心,无论你走到那,总把你牵挂:
java 代码
- HttpClient
httpclient
=
new
HttpClient
();
- httpclient
.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
- 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
多情环的反面即离别钩,钩出,敌之身体某个部件即要与身体别离,端的是无情:
java 代码
- ...
- 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方法在提交参数对时,犹如灵蛇出洞:
java 代码
- 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不了网页快照,代理之威,可比七星碧玉刀,无刀,在局域网和开发当中,一切白搭:
java 代码
- HttpClient
httpclient
=
new
HttpClient
();
- httpClient
.getHostConfiguration().setProxy("192.168.0.1"
,
9527
);
- httpClient
.getParams().setAuthenticationPreemptive(true
);
-
-
-
- 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"
,
- "password"
));
...
7.长生剑之天下第一
看
httpclient
的官方文档:
jakarta.apache.org/commons/httpclient
/userguide.html
看Hilton网友写的小葵花宝典笔记:
www.cnjm.net/tech/article1155.html
通读后,你会有种拔剑四顾心茫然的高手感觉。
七种武器,打完收工!
1.拳头之Get/Post
拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步。
java 代码
1. HttpClient httpclient=new HttpClient();//创建一个客户端,类似打开一个浏览器
2. GetMethod getMethod=new GetMethod("http://www.blablabla.com");//创建一个get方法,类似在浏览器地址栏中输入一个地址
3. int statusCode=httpclient.executeMethod(getMethod);//回车——出拳!
4. System.out.println("response=" + getMethod.getResponseBodyAsString());//察看拳头命中情况,可以获得的东西还有很多,比如head, cookies等等
5. getMethod.releaseConnection();//释放,记得收拳哦
2.孔雀翎之支持https
如何支持https?
java 代码
1. static{
2. Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
3. Protocol.registerProtocol("https", easyhttps);
4. }
在执行具体的http method之前,暗中将https协议注册一把,如孔雀翎暗藏玄机,毙敌于无形。记住,官方的binary发行版本没有ssl的contribute包,方法一是下载源代码版本来打造你的孔雀翎。
3.多情环之cookies
常道人老多情,其实是记忆太多,所以情之所至,正如cookies甜心,无论你走到那,总把你牵挂:
java 代码
1. HttpClient httpclient=new HttpClient();
2. httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);//RFC_2109是支持较普遍的一个,还有其他cookie协议
3. HttpState initialState = new HttpState();
4. Cookie cookie=new Cookie();
5. cookie.setDomain("www.balblabla.com");
6. cookie.setPath("/");
7. cookie.setName("多情环");
8. cookie.setValue("多情即无情");
9. initialState.addCookie(cookie);
10. httpclient.setState(initialState);
11. ...
4.离别钩之解构cookies
多情环的反面即离别钩,钩出,敌之身体某个部件即要与身体别离,端的是无情:
java 代码
1. ...//执行了某些get/post方法后
2. Cookie[] cookies = httpclient.getState().getCookies();
3. System.out.println("Present cookies: ");
4. for (int i = 0; i < cookies.length; i++) {//循环结构零部件
5. System.out.println(" - " + cookies[i].toExternalForm());
6. System.out.println(" - domain=" + cookies[i].getDomain());
7. System.out.println(" - path=" + cookies[i].getPath());
8. ...
9. }
5.霸王抢之post参数
枪,长兵器之王,诸多名将均使一杆或金或银命名的名枪,比如岳飞。post方法在提交参数对时,犹如灵蛇出洞:
java 代码
1. PostMethod postMethod = new PostMethod("http://www.saybot.com/postme");
2. NameValuePair[] postData = new NameValuePair[2];
3. postData[0] = new NameValuePair("武器", "枪");
4. postData[1] = new NameValuePair("什么枪", "神枪");
5. postMethod.addParameters(postData);
6. ...//出枪吧
6.七星碧玉刀之支持代理(proxy)
代理,非常重要,尤其在局域网横行的年头,没有代理,你在公司上不了QQ,没有代理,google不了网页快照,代理之威,可比七星碧玉刀,无刀,在局域网和开发当中,一切白搭:
java 代码
1. HttpClient httpclient=new HttpClient();
2. httpClient.getHostConfiguration().setProxy("192.168.0.1", 9527);
3. httpClient.getParams().setAuthenticationPreemptive(true);//重要!!!告诉httpclient,使用抢先认证,否则你会收到“你没有资格”的恶果
4. /*
5. 这一步也至关重要,MyProxyCredentialsProvider实现了org.apache.commons.httpclient.auth.CredentialsProvider接口,
6. 返回代理的credential(username/password)*/
7. httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, new MyProxyCredentialsProvider());
8. httpClient.getState().setProxyCredentials(
9. new AuthScope("192.168.0.1",
10. AuthScope.ANY_PORT, //任意端口哦,可要小心
11. AuthScope.ANY_REALM),//任意域哦,可要小心
12. new UsernamePasswordCredentials("username",//proxy的用户名
13. "password"));//proxy的密码
...
7.长生剑之天下第一
看httpclient的官方文档:jakarta.apache.org/commons/httpclient/userguide.html
看Hilton网友写的小葵花宝典笔记:www.cnjm.net/tech/article1155.html
通读后,你会有种拔剑四顾心茫然的高手感觉。
七种武器,打完收工!
分享到:
相关推荐
真正的 org.apache.commons.httpclient.source 源码
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java ...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。
httpclient是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,本文档提供使用httpclient的使用方法
HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 适用人群:JavaWeb开发者 使用场景:在Java后端程序中,模拟浏览器端进行Web请求。 其它:...
新出炉的httpclient4.5.5.chm文档,放心下载,绝对不是挂羊头卖狗肉。 org.apache.http.auth Client HTTP authentication APIs. org.apache.http.auth.params Deprecated. org.apache....
HTTP 协议可能是现在 Internet 上...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.2 (GA)
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java ...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。
HTTP 协议可能是现在 Internet 上使用得最多、...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见...
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包
Apache Commons官网下的jar包 Apache Commons官网下的jar包
HTTP 协议可能是现在 Internet 上使用...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.5 .6
import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org....
HTTP 协议可能是现在 Internet 上使用得...HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.5
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。
HttpClient 用到了 Apache Jakarta common 下的子项目 logging,你可以从这个地址http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi下载到 common logging,从下载后的压缩包中取出 commons-...
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient,然后根据作者实际...
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient