本文實例為大家分享了Android網絡連接工具類HttpUtil的使用方法,供大家參考,具體內容如下
該工具實現了發送get和post請求,請求的結果以String字符串的形式返回,比較適合接收服務器端發送過來的JSON字符串數據
	get方法適合從服務器端獲取數據
	post方法適合發送數據到服務器端
使用的時候直接調用get或post方法就好
	get方法傳遞一個url請求
	post方法傳遞一個url請求和要發送到服務器端的數據params
接收數據后返回的是一個String字符串
HttpUtil.java
public class HttpUtil{   /**    * POST方法提交HTTP請求,返回請求的結果    *    * @param url    * @param params    * @return 請求結果    * @throws IOException    */   public static String sendPost(String url, String params) throws IOException {     StringBuffer result = new StringBuffer();      // 創建URL對象     URL _url = new URL(url);     // 創建HTTP連接     /**      * 使用.openConnection()方法實例化一個URLConnection對象      * */     HttpURLConnection conn = (HttpURLConnection) _url.openConnection();          // 以下設置網絡連接的相關參數     /* 使用POST方法進行請求傳遞時,必須定義setDoInput和setDoOutput方法 */     // 設置輸入可用     conn.setDoInput(true);     // 設置輸出可用     conn.setDoOutput(true);      // 設置不使用緩存     conn.setUseCaches(false);     // 設置連接超時的時間 - 5s     conn.setConnectTimeout(5000);     // 設置讀取超時的時間 - 5s     conn.setReadTimeout(5000);     // 設置HTTP請求的方法 - POST     conn.setRequestMethod("POST");     // 設置HTTP請求屬性 - 連接方式:保持     conn.setRequestProperty("Connection", "Keep-Alive");     // 設置HTTP請求屬性 - 字符集:UTF-8     conn.setRequestProperty("Charset", "UTF-8");     // 設置HTTP請求屬性 - 傳輸內容的類型 - 簡單表單     conn.setRequestProperty("Content-Type",         "application/x-www-form-urlencoded");     // 設置HTTP請求屬性 - 傳輸內容的長度     conn.setRequestProperty("Content-Length",         String.valueOf(params.length()));     // 設置HTTP請求屬性 - 用戶代理     conn.setRequestProperty("User-Agent",         "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");     // 發送參數 ,采用字符流發送數據     PrintWriter pw = new PrintWriter(conn.getOutputStream());     pw.write(params);     pw.flush();     pw.close();     // 獲取返回的結果     if (200 == conn.getResponseCode()) {// 判斷狀態碼       // 讀取服務器返回的 結果 - 字符流       BufferedReader br = new BufferedReader(new InputStreamReader(           conn.getInputStream()));       // 每次讀取一行       String line;       while((line = br.readLine()) != null){         result.append(line);       }     }     // 關閉HTTP連接     conn.disconnect();     return result.toString();   }    /**    * GET方法提交HTTP請求,返回請求的結果    * @param url    * @return 請求的結果    * @throws IOException    */   public static String sendGet(String url) throws IOException {      StringBuffer result = new StringBuffer();     // 創建URL對象     URL _url = new URL(url);     // 創建HTTP連接     HttpURLConnection conn = (HttpURLConnection) _url.openConnection();     // 設置網絡連接的相關參數     // 設置輸入可用     conn.setDoInput(true);     // 設置輸出可用     conn.setDoOutput(true);     // 設置不使用緩存     conn.setUseCaches(false);     // 設置連接超時的時間 - 5s     conn.setConnectTimeout(5000);     // 設置讀取超時的時間 - 5s     conn.setReadTimeout(5000);     // 設置HTTP請求的方法 - GET     conn.setRequestMethod("GET");     // 設置HTTP請求屬性 - 連接方式:保持     conn.setRequestProperty("Connection", "Keep-Alive");     // 設置HTTP請求屬性 - 字符集:UTF-8     conn.setRequestProperty("Charset", "UTF-8");     // 設置HTTP請求屬性 - 用戶代理     conn.setRequestProperty("User-Agent",         "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");     // 獲取返回的結果     if (200 == conn.getResponseCode()) {// 判斷狀態碼       BufferedReader br = new BufferedReader(new InputStreamReader(           conn.getInputStream()));       // 每次讀取一行       String line;       while((line = br.readLine()) != null){         result.append(line);       }     }     // 關閉HTTP連接     conn.disconnect();     return result.toString();   } } 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答