overview:
asynchttpclient庫 基於apache的httpclient框架,是乙個非同步的httpclient, 所有的http請求都在子執行緒中,但是callback執行的執行緒和建立這個callback的執行緒是同乙個(也即主線程建立的callback那麼執行的時候也是在主線程中)
基本用法:
});專案中建議定義成靜態工具類:
使用的時候:
class twitterrestclientusage});}
}
儲存server端傳送的cookie
如果想加入自己的
cookie:
basicclientcookie newcookie = new basicclientcookie("cookiesare", "awesome");帶引數的newcookie.setversion(1);
newcookie.setdomain("mydomain.com");
newcookie.setpath("/");
mycookiestore.addcookie(newcookie);
請求:可以這樣構造引數:
requestparams params = new requestparams();params.put("key", "value");
params.put("more", "data");
也可以構造單個引數:
requestparams params = new requestparams("single", "value");還可以根據map構造:
hashmapparammap = new hashmap();使用引數上傳檔案:parammap.put("key", "value");
requestparams params = new requestparams(parammap);
1.傳入inputstream:
inputstream myinputstream = blah;2.傳入file:requestparams params = new requestparams();
params.put("secret_passwords", myinputstream, "passwords.txt");
file myfile = new file("/path/to/file.png");3.requestparams params = new requestparams();
try catch(filenotfoundexception e) {}
傳入byte陣列:
byte mybytearray = blah;下載二進位制形式的資料requestparams params = new requestparams();
params.put("soundtrack", new bytearrayinputstream(mybytearray), "she-wolf.***");
(如圖片
,檔案等)使用
});基本的
授權驗證:
client.get("");使用
安全連線:
方法如下:
public static sslsocketfactory createsslsocketfactory() catch (exception e)return sf;
}
其中mysslsocketfactory
定義
public class mysslsocketfactory extends sslsocketfactorypublic void checkservertrusted(x509certificate chain, string authtype) throws certificateexception
public x509certificate getacceptedissuers()
};sslcontext.init(null, new trustmanager , null);
}@override
public socket createsocket(socket socket, string host, int port, boolean autoclose) throws ioexception, unknownhostexception
@override
public socket createsocket() throws ioexception
private void injecthostname(socket socket, string host) catch (exception ignored)
}}
如果學習開源框架
當我們在學習乙個開源框架時,成熟的開源框架一般都會非常龐大,各個模組 包之間會有依賴關係,而如果只是修改開源包的話,始終覺得不能真正地從根本上理解 實現乙個開源框架。如果自己去模仿著寫乙個的話,也會非常痛苦,因為想實現模組a,但是寫著寫著,發現模組a依賴了太多其他模組的東西,導致無法繼續模仿下去。有...
如何學習開源框架?
前短時間被人問起 如何學習開源框架 這個問題,大家是如何學習開源框架的呢?整理了下自己的思路,僅供拍磚!1 了解 先了解該開源框架在什麼背景下誕生的,主要用來解決什麼問題。做了產品經理之後遇到啥事,我都先講背景,生怕客戶聽不懂 2 熟悉 這個開源框架的原理是什麼?比如用了什麼設計模式。比如運用了反射...
如何學習開源框架
正確的學習方法不僅能夠事半功倍,也能夠使我們更加接近真理。在大家了解了框架的本質和web開發模式之後,我們來討論一下學習開源框架和基本方法。在這裡,本書為大家小結了一些正確的學習方法和最佳實踐,這些不僅是筆者多年開發中的心得體會,也汲取了網路上的大家之言,希望對初學者或者正在為學習開源框架犯愁的朋友...