此包提供了一個完整的HTTP客戶端庫。目前,它實現了大部分的HTTP / 1.0和HTTP的相關部分的/ 1.1協議,包括請求方法HEAD,GET,POST和PUT和自動處理授權,重定向請求和餅乾。
此外,包括編解碼器類包含編碼器和解碼器中的Base64,引用可打印,URL編碼,分塊和多部分/表單數據編碼。整個事情是免費的,GNU寬通用公共許可證(LGPL)下許可(注意,這是不一樣的GPL)。
以下是包和文檔HttpClient的版本0.3-3。如果你有任何問題,錯誤,建議,意見等看到調試和報告問題的信息。這些網頁的舊版本也提供日語,得益於虞姬Kumasaka的好心的努力。
使用HttpClient的應該是很簡單的。首先添加import語句導入了HTTPClient *。到您的文件(S)。接下來創建的HttpConnection的實例(你需要一個給你希望與之對話的每個服務器)。請求然後可以使用方法頭(),獲得(),郵政()等在HttpConnection的一個發送。
這些方法都返回的HttpResponse其具有用於訪問響應頭(getHeader(),getHeaderAsInt(),等等),各種響應信息(getStatusCode(),getReasonLine(),等等),響應數據(的getData方法的一個實例() ,的getText(),和的getInputStream()),並且可能已被發送的任何拖車(getTrailer(),getTrailerAsInt(),等等)。下面是一些例子上手。
檢索網址“http://www.myaddr.net/my/file”文件,你可以使用類似以下內容:
嘗試
{
HttpConnection的CON =新的HttpConnection(“www.myaddr.net”);
HttpResponse的RSP = con.Get(“/我/文件”);
如果(rsp.getStatusCode()> = 300)
{
通信System.err.println(“收到的錯誤:”+ rsp.getReasonLine());
通信System.err.println(rsp.getText());
}
其他
數據= rsp.getData();
RSP = con.Get(“/ another_file”);
如果(rsp.getStatusCode()> = 300)
{
通信System.err.println(“收到的錯誤:”+ rsp.getReasonLine());
通信System.err.println(rsp.getText());
}
其他
other_data = rsp.getData();
}
趕上(IOException異常IOE)
{
通信System.err.println(ioe.toString());
}
趕上(ParseException的PE)
{
通信System.err.println(“錯誤分析的Content-Type:”+ pe.toString());
}
趕上(ModuleException我)
{
通信System.err.println(“錯誤處理的請求:”+ me.getMessage());
}
這將讓文件“/我/文件”和“/ another_file”,並把其內容轉換為字節[]的訪問通過的getData()]。請注意,您只需要創建發送請求到新服務器(不同的協議,主機或端口),當一個新的HttpConnection;雖然你可能會創建一個新的HttpConnection的每一個請求到同一台服務器這個不推薦,因為有關服務器的各種信息的第一個請求後緩存(優化後續請求)和持久連接盡可能地使用(參見高級信息)。
從一個小程序POST表單數據回您的服務器,你可以使用這樣的事情(假設你有兩個字段叫做姓名和電子郵件,其內容被存儲在變量名和電子郵件):
嘗試
{
NVPair form_data [] =新NVPair [2];
form_data [0] =新NVPair(“姓名”,姓名);
form_data [1] =新NVPair(“郵件”,郵件);
//注意,便捷構造的小程序
HttpConnection的CON =新的HttpConnection(本);
HttpResponse的RSP = con.Post(“/ cgi-bin目錄/ my_script”,form_data);
如果(rsp.getStatusCode()> = 300)
{
通信System.err.println(“收到的錯誤:”+ rsp.getReasonLine());
通信System.err.println(rsp.getText());
}
其他
流= rsp.getInputStream();
}
趕上(IOException異常IOE)
{
通信System.err.println(ioe.toString());
}
趕上(ModuleException我)
{
通信System.err.println(“錯誤處理的請求:”+ me.getMessage());
}
在這裡,響應數據是通過一個InputStream,而不是所有的閱讀休閒立刻變成一個byte []。
再舉一個例子,如果你想將文檔上傳到一個URL(和服務器支持HTTP PUT),你可以不喜歡以下內容:
嘗試
{
網址URL =新的URL(“http://www.mydomain.us/test/my_file”);
HttpConnection的CON =新的HttpConnection(URL);
HttpResponse的RSP = con.Put(url.getFile()的“Hello World”);
如果(rsp.getStatusCode()> = 300)
{
通信System.err.println(“收到的錯誤:”+ rsp.getReasonLine());
通信System.err.println(rsp.getText());
}
其他
文= rsp.getText();
}
趕上(IOException異常IOE)
{
通信System.err.println(ioe.toString());
}
趕上(ModuleException我)
{
通信System.err.println(“錯誤處理的請求:”+ me.getMessage());
}
按類別搜索
熱門軟件
-
ed2k-gtk-gui 4 Jun 15
-
LXLE 22 Jun 18
-
W-Packager 20 Feb 15
-
Adobe Developer Connection Developer Desktop 3 Jun 15
-
Yandex Browser 17 Feb 15
-
Parrot security OS 23 Oct 17
-
Apricity OS 12 Jan 17
HTTPClient
顯影劑的其他軟件 -
gnome-nds-thumbnailer
11 May 15
Tiger security tool
3 Jun 15
GNOME DVB Daemon
20 Feb 15
Capuchin-Glib
2 Jun 15
評論沒有發現