您好,登錄后才能下訂單哦!
這篇文章給大家介紹Android中怎么利用HttpUtil自定義一個網絡連接工具類,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
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(); } }
關于Android中怎么利用HttpUtil自定義一個網絡連接工具類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。