1.拳頭之Get/Post拳頭是最基本的一重武器,也是最重要的,好比練武之人必須先扎穩馬步。
java 代碼
- HttpClient httpclient=new HttpClient();
- GetMethod getMethod=new GetMethod("http://www.blablabla.com");//創(chuàng )建一個(gè)get方法,類(lèi)似在瀏覽器地址欄中輸入一個(gè)地址
- 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協(xié)議注冊一把,如孔雀翎暗藏玄機,斃敵于無(wú)形。記住,官方的binary發(fā)行版本沒(méi)有ssl的contribute包,方法一是下載源代碼版本來(lái)打造你的孔雀翎。
3.多情環(huán)之cookies常道人老多情,其實(shí)是記憶太多,所以情之所至,正如cookies甜心,無(wú)論你走到那,總把你牽掛:
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("多情環(huán)");
- cookie.setValue("多情即無(wú)情");
- initialState.addCookie(cookie);
- httpclient.setState(initialState);
- ...
4.離別鉤之解構cookies多情環(huán)的反面即離別鉤,鉤出,敵之身體某個(gè)部件即要與身體別離,端的是無(wú)情:
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參數槍?zhuān)L(cháng)兵器之王,諸多名將均使一桿或金或銀命名的名槍?zhuān)热缭里w。post方法在提交參數對時(shí),猶如靈蛇出洞:
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)代理,非常重要,尤其在局域網(wǎng)橫行的年頭,沒(méi)有代理,你在公司上不了QQ,沒(méi)有代理,google不了網(wǎng)頁(yè)快照,代理之威,可比七星碧玉刀,無(wú)刀,在局域網(wǎng)和開(kāi)發(fā)當中,一切白搭:
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.長(cháng)生劍之天下第一看
httpclient的官方文檔:
jakarta.apache.org/commons/httpclient/userguide.html看Hilton網(wǎng)友寫(xiě)的小葵花寶典筆記:
www.cnjm.net/tech/article1155.html通讀后,你會(huì )有種拔劍四顧心茫然的高手感覺(jué)。
七種武器,打完收工!