RELATEED CONSULTING
服務咨詢
選擇下列產品馬上在線溝通
服務時間:24小時服務
你可能遇到了下面的問題
關閉右側工具欄

网球冠军:大唐教程:HttpUtilAndroid網絡連接封裝工具類

网球冠军李娜的照片 www.qmrvl.icu

該工具實現了發送get和post請求,請求的結果以String字符串的形式返回,比較適合接收服務器端發送過來的JSON字符串數據

get方法適合從服務器端獲取數據

post方法適合發送數據到服務器端

 

使用的時候直接調用get或post方法就好

get方法傳遞一個url請求

post方法傳遞一個url請求和要發送到服務器端的數據params

 

接收數據后返回的是一個String字符串

 

HttpUtil.Java

 

[java] view plain copy
 
 print?
  1. public class HttpUtil{  
  2.     /** 
  3.      * POST方法提交HTTP請求,返回請求的結果 
  4.      *  
  5.      * @param url 
  6.      * @param params 
  7.      * @return 請求結果 
  8.      * @throws IOException 
  9.      */  
  10.     public static String sendPost(String url, String params) throws IOException {  
  11.         StringBuffer result = new StringBuffer();  
  12.   
  13.         // 創建URL對象  
  14.         URL _url = new URL(url);  
  15.         // 創建HTTP連接  
  16.         /** 
  17.          * 使用.openConnection()方法實例化一個URLConnection對象 
  18.          * */  
  19.         HttpURLConnection conn = (HttpURLConnection) _url.openConnection();  
  20.           
  21.         // 以下設置網絡連接的相關參數  
  22.         /* 使用POST方法進行請求傳遞時,必須定義setDoInput和setDoOutput方法 */  
  23.         // 設置輸入可用  
  24.         conn.setDoInput(true);  
  25.         // 設置輸出可用  
  26.         conn.setDoOutput(true);  
  27.   
  28.         // 設置不使用緩存  
  29.         conn.setUseCaches(false);  
  30.         // 設置連接超時的時間 - 5s  
  31.         conn.setConnectTimeout(5000);  
  32.         // 設置讀取超時的時間 - 5s  
  33.         conn.setReadTimeout(5000);  
  34.         // 設置HTTP請求的方法 - POST  
  35.         conn.setRequestMethod("POST");  
  36.         // 設置HTTP請求屬性 - 連接方式:保持  
  37.         conn.setRequestProperty("Connection""Keep-Alive");  
  38.         // 設置HTTP請求屬性 - 字符集:UTF-8  
  39.         conn.setRequestProperty("Charset""UTF-8");  
  40.         // 設置HTTP請求屬性 - 傳輸內容的類型 - 簡單表單  
  41.         conn.setRequestProperty("Content-Type",  
  42.                 "application/x-www-form-urlencoded");  
  43.         // 設置HTTP請求屬性 - 傳輸內容的長度  
  44.         conn.setRequestProperty("Content-Length",  
  45.                 String.valueOf(params.length()));  
  46.         // 設置HTTP請求屬性 - 用戶代理  
  47.         conn.setRequestProperty("User-Agent",  
  48.                 "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");  
  49.         // 發送參數 ,采用字符流發送數據  
  50.         PrintWriter pw = new PrintWriter(conn.getOutputStream());  
  51.         pw.write(params);  
  52.         pw.flush();  
  53.         pw.close();  
  54.         // 獲取返回的結果  
  55.         if (200 == conn.getResponseCode()) {// 判斷狀態碼  
  56.             // 讀取服務器返回的 結果 - 字符流  
  57.             BufferedReader br = new BufferedReader(new InputStreamReader(  
  58.                     conn.getInputStream()));  
  59.             // 每次讀取一行  
  60.             String line;  
  61.             while((line = br.readLine()) != null){  
  62.                 result.append(line);  
  63.             }  
  64.         }  
  65.         // 關閉HTTP連接  
  66.         conn.disconnect();  
  67.         return result.toString();  
  68.     }  
  69.   
  70.     /** 
  71.      * GET方法提交HTTP請求,返回請求的結果 
  72.      * @param url 
  73.      * @return 請求的結果 
  74.      * @throws IOException 
  75.      */  
  76.     public static String sendGet(String url) throws IOException {  
  77.   
  78.         StringBuffer result = new StringBuffer();  
  79.         // 創建URL對象  
  80.         URL _url = new URL(url);  
  81.         // 創建HTTP連接  
  82.         HttpURLConnection conn = (HttpURLConnection) _url.openConnection();  
  83.         // 設置網絡連接的相關參數  
  84.         // 設置輸入可用  
  85.         conn.setDoInput(true);  
  86.         // 設置輸出可用  
  87.         conn.setDoOutput(true);  
  88.         // 設置不使用緩存  
  89.         conn.setUseCaches(false);  
  90.         // 設置連接超時的時間 - 5s  
  91.         conn.setConnectTimeout(5000);  
  92.         // 設置讀取超時的時間 - 5s  
  93.         conn.setReadTimeout(5000);  
  94.         // 設置HTTP請求的方法 - GET  
  95.         conn.setRequestMethod("GET");  
  96.         // 設置HTTP請求屬性 - 連接方式:保持  
  97.         conn.setRequestProperty("Connection""Keep-Alive");  
  98.         // 設置HTTP請求屬性 - 字符集:UTF-8  
  99.         conn.setRequestProperty("Charset""UTF-8");  
  100.         // 設置HTTP請求屬性 - 用戶代理  
  101.         conn.setRequestProperty("User-Agent",  
  102.                 "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");  
  103.         // 獲取返回的結果  
  104.         if (200 == conn.getResponseCode()) {// 判斷狀態碼  
  105.             BufferedReader br = new BufferedReader(new InputStreamReader(  
  106.                     conn.getInputStream()));  
  107.             // 每次讀取一行  
  108.             String line;  
  109.             while((line = br.readLine()) != null){  
  110.                 result.append(line);  
  111.             }  
  112.         }  
  113.         // 關閉HTTP連接  
  114.         conn.disconnect();  
  115.         return result.toString();  
  116.     }  
  117. }  


大唐傳易福州網站建設推薦閱讀: