Java網絡請求工具類

dd2d 9年前發布 | 3K 次閱讀 Java

Java網絡請求工具類(依賴:org.apache.http;注:HttpClient 4.4,HttpCore 4.4)
到此處可以去下載依賴包:http://hc.apache.org/downloads.cgi

import java.util.List;

import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.client.config.RequestConfig; 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.util.EntityUtils;

/**

  • HttpServletUtil *
  • @author ysj
  • @Date: 2015-1-30 下午2:07:55 */ public class HttpServletUtil { private static CloseableHttpClient httpclient; private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).build();

    /**

    • Post:訪問數據庫并返回數據字符串 *
    • @param params
    • 向服務器端傳的參數
    • @param url
    • @return String 數據字符串
    • @throws Exception */ public static String doPost(List<NameValuePair> params, String url) throws Exception { String result = null; httpclient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); //設置請求和傳輸超時時間 httpPost.setConfig(requestConfig); CloseableHttpResponse httpResp = httpclient.execute(httpPost); try {

       int statusCode = httpResp.getStatusLine().getStatusCode();
       // 判斷是夠請求成功
       if (statusCode == HttpStatus.SC_OK) {
           System.out.println("狀態碼:" + statusCode);
           System.out.println("請求成功!");
           // 獲取返回的數據
           result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");
       } else {
           System.out.println("狀態碼:"
                   + httpResp.getStatusLine().getStatusCode());
           System.out.println("HttpPost方式請求失敗!");
       }
      

      } finally {

       httpResp.close();
       httpclient.close();
      

      } return result; }

      /**

    • Get:訪問數據庫并返回數據字符串 *
    • @param url
    • @return String 數據字符串
    • @throws Exception */ public static String doGet(String url) throws Exception{ String result = null; httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(url); //設置請求和傳輸超時時間 httpGet.setConfig(requestConfig); CloseableHttpResponse httpResp = httpclient.execute(httpGet); try {
       int statusCode = httpResp.getStatusLine().getStatusCode();
       // 判斷是夠請求成功
       if (statusCode == HttpStatus.SC_OK) {
           System.out.println("狀態碼:" + statusCode);
           System.out.println("請求成功!");
           // 獲取返回的數據
           result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");
       } else {
           System.out.println("狀態碼:"
                   + httpResp.getStatusLine().getStatusCode());
           System.out.println("HttpGet方式請求失敗!");
       }
      
      } finally {
       httpResp.close();
       httpclient.close();
      
      } return result; } }</pre>
 本文由用戶 dd2d 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!