国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android自定義網絡連接工具類HttpUtil

2019-10-22 18:22:59
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平武县| 泾川县| 磐石市| 镇坪县| 保山市| 玉林市| 贵州省| 江都市| 肥乡县| 东兰县| 桂平市| 蒙阴县| 涞水县| 乐安县| 策勒县| 碌曲县| 阜新市| 光山县| 巴里| 新宁县| 壶关县| 西充县| 宝清县| 板桥市| 怀仁县| 托克逊县| 铜山县| 汽车| 祥云县| 唐海县| 许昌县| 武威市| 内黄县| 达州市| 贵德县| 绥芬河市| 老河口市| 明溪县| 剑川县| 宜宾市| 攀枝花市|