首页 »编程综合 » apachehttpclient:Apache Common HttpClient使用的 7种武器 »正文
apachehttpclient:Apache Common HttpClient使用的 7种武器
来源: 发布时间:星期四, 2009年1月15日 浏览:10次 评论:0
1.拳头的Get/Post 拳头是最基本 重武器 也是最重要 好比练武的人必须先扎稳马步 java 代码 HttpClient httpclient= HttpClient ;//创建 个客户端 类似打开 个浏览器 GetMethod getMethod= GetMethod("http://www.blablabla.com");//创建 个get思路方法 类似在浏览器地址栏中输入 个地址 statusCode=httpclient.executeMethod(getMethod);//回车——出拳! .out.pr ln("response=" + getMethod.getResponseBodyAsString );//察看拳头命中情况 可以获得 东西还有很多 比如head, cookies等等 getMethod.releaseConnection ;//释放 记得收拳哦 2.孔雀翎的支持https 如何支持https? java 代码 { Protocol easyhttps = Protocol("https", EasySSLProtocolSocketFactory, 443); Protocol.registerProtocol("https", easyhttps); } 在执行具体 http method的前 暗中将https协议注册 把 如孔雀翎暗藏玄机 毙敌于无形 记住 官方 binary发行版本没有ssl contribute包 思路方法 是下载源代码版本来打造你 孔雀翎 3.多情环的cookies 常道人老多情 其实是记忆太多 所以情的所至 正如cookies甜心 无论你走到那 总把你牵挂: java 代码 HttpClient httpclient= HttpClient; httpclient.getParams.CookiePolicy(CookiePolicy.RFC_2109);//RFC_2109是支持较普遍个还有其他cookie协议 HttpState initialState = HttpState; Cookie cookie= Cookie; cookie.Do("www.balblabla.com"); cookie.Path("/"); cookie.Name("多情环"); cookie.Value("多情即无情"); initialState.addCookie(cookie); httpclient.State(initialState); ... 4.离别钩的解构cookies 多情环 反面即离别钩 钩出 敌的身体某个部件即要和身体别离 端 是无情: java 代码 ...//执行了某些get/post思路方法后 Cookie cookies = httpclient.getState.getCookies; .out.prln("Present cookies: "); for ( i = 0; i < cookies.length; i) {//循环结构零部件 .out.prln(" - " + cookies[i].toExternalForm); .out.prln(" - do=" + cookies[i].getDo); .out.prln(" - path=" + cookies[i].getPath); ... } 5.霸王抢的post参数 枪 长兵器的王 诸多名将均使 杆或金或银命名 名枪 比如岳飞 post思路方法在提交参数对时,犹如灵蛇出洞: java 代码 PostMethod postMethod = PostMethod("http://www.saybot.com/postme"); NameValuePair postData = NameValuePair[2]; postData[0] = NameValuePair("武器", "枪"); postData[1] = NameValuePair("什么枪", "神枪"); postMethod.addParameters(postData); ...//出枪吧 6. 7星碧玉刀的支持代理(proxy) 代理 非常重要 尤其在局域网横行 年头 没有代理 你在公司上不了QQ 没有代理 google不了网页快照 代理的威 可比 7星碧玉刀 无刀 在局域网和开发当中 切白搭: java 代码 HttpClient httpclient= HttpClient; httpClient.getHostConfiguration.Proxy("192.168.0.1", 9527); httpClient.getParams.AuthenticationPreemptive(true);//重要!!!告诉httpclient使用抢先认证否则你会收到“你没有资格”恶果 /* 这步也至关重要MyProxyCredentialsProvider实现了org.apache.commons.httpclient.auth.CredentialsProvider接口 返回代理credential(username/password)*/ httpClient.getParams.Parameter(CredentialsProvider.PROVIDER, MyProxyCredentialsProvider); httpClient.getState.ProxyCredentials( AuthScope("192.168.0.1", AuthScope.ANY_PORT, //任意端口哦可要小心 AuthScope.ANY_REALM),//任意域哦可要小心 UsernamePasswordCredentials("username",//proxy用户名 "password"));//proxy密码
相关文章
读者评论
发表评论
|
|