博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java Webservice(一)HttpClient使用(一)
阅读量:6994 次
发布时间:2019-06-27

本文共 2773 字,大约阅读时间需要 9 分钟。

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 ...

 

}

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,使用抢先认证,否则你会收到“你没有资格”的恶果

 

/*
这一步也至关重要,MyProxyCredentialsProvider实现了org.apache.commons.httpclient.auth.CredentialsProvider接口,
返回代理的credential(username/password)*/

1 httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, new MyProxyCredentialsProvider()); 2 httpClient.getState().setProxyCredentials( 3 new AuthScope("192.168.0.1", 4 AuthScope.ANY_PORT, //任意端口哦,可要小心 5 AuthScope.ANY_REALM),//任意域哦,可要小心 6 new UsernamePasswordCredentials("username",//proxy的用户名 7 "password"));//proxy的密码8 9 ...

 

转载地址:http://mrivl.baihongyu.com/

你可能感兴趣的文章
工控主板如何选购?
查看>>
手机照片删除之后怎样找回?如何去找回?
查看>>
day12 jsp & el表达式 & jstl标签库
查看>>
Gartner:细分分析如何提高销售预测的准确性?
查看>>
mysql数据库简单sql语句
查看>>
不错的linux下通用的java程序启动脚本
查看>>
iptraf用法
查看>>
Javascript之事件
查看>>
ruby基础逻辑判断
查看>>
注解就这么简单
查看>>
线程池你真不来了解一下吗?
查看>>
hyperledger开发分享——一线开发者在超级账本项目开发实践(实录)
查看>>
Eos测试框架EosFactory
查看>>
12个 grep 命令的超级用法实例
查看>>
Python中操作SQLAlchemy
查看>>
是否使用索引
查看>>
maven的setting配置说明
查看>>
CI框架运行流程图
查看>>
Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖!
查看>>
1N4148WS-E3-08你不得不知道的二三事
查看>>