HTTPClient

軟件截圖:
HTTPClient
軟件詳細信息:
版本: 0.3-3
上傳日期: 3 Jun 15
開發: -
許可: 免費
人氣: 3

Rating: nan/5 (Total Votes: 0)

此包提供了一個完整的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());
    }

顯影劑的其他軟件 -

Autogg
Autogg

3 Jun 15

squidGuard
squidGuard

3 Jun 15

Metafox
Metafox

17 Feb 15

GtkChat
GtkChat

3 Jun 15

意見 HTTPClient

評論沒有發現
添加評論
打開圖片!