天天看點

android 網絡請求工具類,Android的Http請求工具類

搜尋熱詞

下面是程式設計之家 jb51.cc 通過網絡收集整理的代碼片段。

程式設計之家小編現在分享給大家,也給大家做個參考。

import java.io.BufferedReader;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.HttpURLConnection;

import java.net.URL;

//Http請求的工具類

public class HttpUtils

{

private static final int TIMEOUT_IN_MILLIONS = 5000;

public interface CallBack

{

void onRequestComplete(String result);

}

public static void doGetAsyn(final String urlStr,final CallBack callBack)

{

new Thread()

{

public void run()

{

try

{

String result = doGet(urlStr);

if (callBack != null)

{

callBack.onRequestComplete(result);

}

} catch (Exception e)

{

e.printStackTrace();

}

};

}.start();

}

public static void doPostAsyn(final String urlStr,final String params,final CallBack callBack) throws Exception

{

new Thread()

{

public void run()

{

try

{

String result = doPost(urlStr,params);

if (callBack != null)

{

callBack.onRequestComplete(result);

}

} catch (Exception e)

{

e.printStackTrace();

}

};

}.start();

}

public static String doGet(String urlStr)

{

URL url = null;

HttpURLConnection conn = null;

InputStream is = null;

ByteArrayOutputStream baos = null;

try

{

url = new URL(urlStr);

conn = (HttpURLConnection) url.openConnection();

conn.setReadTimeout(TIMEOUT_IN_MILLIONS);

conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);

conn.setRequestMethod("GET");

conn.setRequestProperty("accept","*

public static String doPost(String url,String param)

{

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try

{

URL realUrl = new URL(url);

// 打開和URL之間的連接配接

HttpURLConnection conn = (HttpURLConnection) realUrl

.openConnection();

// 設定通用的請求屬性

conn.setRequestProperty("accept","Keep-Alive");

conn.setRequestMethod("POST");

conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

conn.setRequestProperty("charset","utf-8");

conn.setUseCaches(false);

// 發送POST請求必須設定如下兩行

conn.setDoOutput(true);

conn.setDoInput(true);

conn.setReadTimeout(TIMEOUT_IN_MILLIONS);

conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);

if (param != null && !param.trim().equals(""))

{

// 擷取URLConnection對象對應的輸出流

out = new PrintWriter(conn.getOutputStream());

// 發送請求參數

out.print(param);

// flush輸出流的緩沖

out.flush();

}

// 定義BufferedReader輸入流來讀取URL的響應

in = new BufferedReader(

new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null)

{

result += line;

}

} catch (Exception e)

{

e.printStackTrace();

}

// 使用finally塊來關閉輸出流、輸入流

finally

{

try

{

if (out != null)

{

out.close();

}

if (in != null)

{

in.close();

}

} catch (IOException ex)

{

ex.printStackTrace();

}

}

return result;

}

}

以上是程式設計之家(jb51.cc)為你收集整理的全部代碼内容,希望文章能夠幫你解決所遇到的程式開發問題。

如果覺得程式設計之家網站内容還不錯,歡迎将程式設計之家網站推薦給程式員好友。

總結

如果覺得程式設計之家網站内容還不錯,歡迎将程式設計之家網站推薦給程式員好友。

本圖文内容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。