導航:首頁 > 使用方法 > httpclient使用方法

httpclient使用方法

發布時間:2022-09-02 08:40:55

如何使用HttpClient

這里只介紹如何使用HttpClient發起GET或者POST請求

GET 方式

Java代碼
//先將參數放入List,再對參數進行URL編碼
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "中國"));
params.add(new BasicNameValuePair("param2", "value2"));

//對參數編碼
String param = URLEncodedUtils.format(params, "UTF-8");

//baseUrl
String baseUrl = "http://ubs.free4lab.com/php/method.php";

//將URL與參數拼接
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);

HttpClient httpClient = new DefaultHttpClient();

try {
HttpResponse response = httpClient.execute(getMethod); //發起GET請求

Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//獲取伺服器響應內容
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

POST方式

Java代碼
//和GET方式一樣,先將參數放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二個參數"));

try {
HttpPost postMethod = new HttpPost(baseUrl);
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中

HttpResponse response = httpClient.execute(postMethod); //執行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Ⅱ 如何使用HttpClient

使用方法
使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

1. 創建HttpClient對象。
2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。
3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。
4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。
5. 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器的響應內容。程序可通過該對象獲取伺服器的響應內容。
6. 釋放連接。無論執行方法是否成功,都必須釋放連接

Ⅲ 如何使用HttpClient

使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

1. 創建HttpClient對象。
2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。
3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。
4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。
5. 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器的響應內容。程序可通過該對象獲取伺服器的響應內容。
6. 釋放連接。無論執行方法是否成功,都必須釋放連接
http://blog.csdn.net/wangpeng047/article/details/19624529
有代碼實例,參考下吧。

Ⅳ 如何使用HttpClient

Http協議的重要性相信不用我多說了,HttpClient相比傳統JDK自帶的URLConnection,增加了易用性和靈活性(具體區別,日後我們再討論),它不僅是客戶端發送Http請求變得容易,而且也方便了開發人員測試介面(基於Http協議的),即提高了開發的效率,也方便提高代碼的健壯性。因此熟練掌握HttpClient是很重要的必修內容,掌握HttpClient後,相信對於Http協議的了解會更加深入。

一、簡介

HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,並且它支持HTTP協議最新的版本和建議。HttpClient已經應用在很多的項目中,比如Apache Jakarta上很著名的另外兩個開源項目Cactus和HTMLUnit都使用了HttpClient。

下載地址: http://hc.apache.org/downloads.cgi

二、特性

1. 基於標准、純凈的java語言。實現了Http1.0和Http1.1

2. 以可擴展的面向對象的結構實現了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。

3. 支持HTTPS協議。

4. 通過Http代理建立透明的連接。

5. 利用CONNECT方法通過Http代理建立隧道的https連接。

6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos認證方案。

7. 插件式的自定義認證方案。

8. 便攜可靠的套接字工廠使它更容易的使用第三方解決方案。

9. 連接管理器支持多線程應用。支持設置最大連接數,同時支持設置每個主機的最大連接數,發現並關閉過期的連接。

10. 自動處理Set-Cookie中的Cookie。

11. 插件式的自定義Cookie策略。

12. Request的輸出流可以避免流中內容直接緩沖到socket伺服器。

13. Response的輸入流可以有效的從socket伺服器直接讀取相應內容。

14. 在http1.0和http1.1中利用KeepAlive保持持久連接。

15. 直接獲取伺服器發送的response code和 headers。

16. 設置連接超時的能力。

17. 實驗性的支持http1.1 response caching。

18. 源代碼基於Apache License 可免費獲取。

三、使用方法

使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

1. 創建HttpClient對象。

2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。

3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。

4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。

5. 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器的響應內容。程序可通過該對象獲取伺服器的響應內容。

6. 釋放連接。無論執行方法是否成功,都必須釋放連接

四、實例

[java] view plain 在CODE上查看代碼片派生到我的代碼片

本實例是採用HttpClient4.3最新版本。該版本與之前的代碼寫法風格相差較大,大家多留意下。

Ⅳ 如何使用HttpClient

1. 創建HttpClient對象。
2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。
3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。
4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。
5. 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器的響應內容。程序可通過該對象獲取伺服器的響應內容。
6. 釋放連接。無論執行方法是否成功,都必須釋放連接

Ⅵ 如何使用HttpClient

httpClient使用舉例:
HttpClient client = new HttpClient();
String url = ana/workFlowOaInterface.do?action=oaTask;
PostMethod postMethod = new PostMethod(url);
//設置參數編碼為gbk
post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"gbk");
//構造鍵值對參數
NameValuePair[] data = { new NameValuePair("processInstanceId", "230"), new NameValuePair("approveFlag", "1") };
// 把參數值放入postMethod中
postMethod.setRequestBody(data);
//執行
client.executeMethod(postMethod);
//讀取內容
byte[] responseBody = postMethod.getResponseBody();
//處理內容
System.out.println(new String(responseBody));
System.out.println("getStatusLine:"+postMethod.getStatusLine());
System.out.println("~~~"+postMethod.getResponseBodyAsString());
System.out.println("statusCode:"+statusCode);
//列印結果頁面
String response = new String(postMethod.getResponseBodyAsString().getBytes("utf-8"));
//列印返回的信息
System.out.println("response:"+response);
//釋放連接
postMethod.releaseConnection();
如果傳遞的是中文參數,有可能會出現亂碼,通過設置正確的參數編碼來解決。

在被調用的介面方,直接通過request.getParameter的方式獲取。

Ⅶ 如何使用HttpClient

這里舉幾個應用。
1. 讀取網頁(HTTP/HTTPS)內容
下面是我們給出的一個簡單的例子用來訪問某個頁面

*
* Created on 2003-12-14 by skydong
*/

package http.demo;
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
/** *//**
* 最簡單的HTTP客戶端,用來演示通過GET或者POST方式訪問某個頁面
* @author skydong
*/
public class SimpleClient ...{
public static void main(String[] args) throws IOException
...{
HttpClient client = new HttpClient();
//設置代理伺服器地址和埠
//client.getHostConfiguration().setProxy("proxy_host_addr",proxy_port);
//使用GET方法,如果伺服器需要通過HTTPS連接,那隻需要將下面URL中的http換成https
HttpMethod method = new GetMethod("http://java.sun.com";);

Ⅷ 如何使用HttpClient

一、簡介

HttpClient是Apache Jakarta
Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,並且它支持HTTP協議最新的版本和建議。
HttpClient已經應用在很多的項目中,比如Apache
Jakarta上很著名的另外兩個開源項目Cactus和HTMLUnit都使用了HttpClient。

下載地址:
http://hc.apache.org/downloads.cgi

二、特性

1. 基於標准、純凈的java語言。實現了Http1.0和Http1.1

2. 以可擴展的面向對象的結構實現了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。

3. 支持HTTPS協議。

4. 通過Http代理建立透明的連接。

5. 利用CONNECT方法通過Http代理建立隧道的https連接。

6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos認證方案。

7. 插件式的自定義認證方案。

8. 便攜可靠的套接字工廠使它更容易的使用第三方解決方案。

9. 連接管理器支持多線程應用。支持設置最大連接數,同時支持設置每個主機的最大連接數,發現並關閉過期的連接。

10. 自動處理Set-Cookie中的Cookie。

11. 插件式的自定義Cookie策略。

12. Request的輸出流可以避免流中內容直接緩沖到socket伺服器。

13. Response的輸入流可以有效的從socket伺服器直接讀取相應內容。

14. 在http1.0和http1.1中利用KeepAlive保持持久連接。

15. 直接獲取伺服器發送的response code和 headers。

16. 設置連接超時的能力。

17. 實驗性的支持http1.1 response caching。

18. 源代碼基於Apache License 可免費獲取。

三、使用方法

使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

1. 創建HttpClient對象。

2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。

3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的
setParams(HetpParams
params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity
entity)方法來設置請求參數。

4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。

5. 調用HttpResponse的getAllHeaders()、
getHeaders(String
name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器
的響應內容。程序可通過該對象獲取伺服器的響應內容。

6. 釋放連接。無論執行方法是否成功,都必須釋放連接

閱讀全文

與httpclient使用方法相關的資料

熱點內容
地腳螺栓簡易安裝方法 瀏覽:248
cnmr是什麼檢測方法 瀏覽:229
目前發達國家治癌方法是哪些 瀏覽:817
如何控制類風濕方法 瀏覽:922
葡萄量筒測量方法 瀏覽:995
統計研究運用各種方法 瀏覽:283
尋找研究生碩士老師的方法 瀏覽:704
蘋果平板按鍵音在哪裡設置方法 瀏覽:379
快速減小腿肚的方法 瀏覽:143
牛排肉怎麼腌制的方法 瀏覽:880
油性指甲油凝固解決方法 瀏覽:263
杜仲茶的功效與作用及食用方法 瀏覽:816
壓小胯訓練方法 瀏覽:546
蘋果手機相機有水印功能在哪裡設置方法 瀏覽:84
空氣開關常見故障及解決方法 瀏覽:172
騎自行車是鍛煉身體的好方法英文 瀏覽:946
防彈玻璃成分測量方法 瀏覽:942
專家教你兩種去斑方法如何去祛斑 瀏覽:672
如新spa機使用方法5檔 瀏覽:686
清洗衣服上的油污方法如何 瀏覽:309