Java httpclient獲得串連

來源:互聯網
上載者:User

標籤:

package com.yuan.test;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;public class CloseableTest {public static void main(String[] args) throws Exception {        CloseableHttpClient httpclient = HttpClients.createDefault();        try {            HttpGet httpGet = new HttpGet("http://*****.com/login.do");            CloseableHttpResponse response1 = httpclient.execute(httpGet);            // The underlying HTTP connection is still held by the response object            // to allow the response content to be streamed directly from the network socket.            // In order to ensure correct deallocation of system resources            // the user MUST call CloseableHttpResponse#close() from a finally clause.            // Please note that if response content is not fully consumed the underlying            // connection cannot be safely re-used and will be shut down and discarded            // by the connection manager.            try {                System.out.println(response1.getStatusLine());                HttpEntity entity1 = response1.getEntity();                // do something useful with the response body                // and ensure it is fully consumed                EntityUtils.consume(entity1);            } finally {                response1.close();            }            HttpPost httpPost = new HttpPost("http://wx.tclha.com/login.do");            List <NameValuePair> nvps = new ArrayList <NameValuePair>();            nvps.add(new BasicNameValuePair("username", "vip"));            nvps.add(new BasicNameValuePair("password", "secret"));            httpPost.setEntity(new UrlEncodedFormEntity(nvps));//添加參數            CloseableHttpResponse response2 = httpclient.execute(httpPost);            try {                System.out.println(response2.getStatusLine());                HttpEntity entity2 = response2.getEntity();                // do something useful with the response body                // and ensure it is fully consumed                EntityUtils.consume(entity2);            } finally {                response2.close();            }        } finally {            httpclient.close();        }    }}

另外的一些說明可以參考博文:

http://blog.csdn.net/wangpeng047/article/details/19624529

使用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 httpclient獲得串連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.