您的位置:首页 > 理论基础 > 计算机网络

Android 原生HttpURLConnection网络请求工具类(get post)

2017-09-02 16:50 761 查看
public class NetworkUtil {

/*
* 传入一个Url地址  返回一个JSON字符串
* 网络请求的情况分析:
*   如果是404 500 ... 代表网络(Http协议)请求失败
*   200 服务器返回成功
*       业务成功  /业务失败
* */
public static String doGet(String urlPath) {
try {
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
if (conn.getResponseCode() == 200) {
InputStream is = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
return reader.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
return "{ \"success\": false,\n   \"errorMsg\": \"后台服务器开小差了!\",\n     \"result\":{}}";
}

/*
* 传入一个Url地址  返回一个JSON字符串
* */
public static String doPost(String urlPath, HashMap<String, String> paramsMap) {
try {
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
//--------------------------------
conn.setDoOutput(true);
conn.getOutputStream().write(getParams(paramsMap).getBytes());
//--------------------------------
if (conn.getResponseCode() == 200) {
InputStream is = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
return reader.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
return "{ \"success\": false,\n   \"errorMsg\": \"后台服务器开小差了!\",\n     \"result\":{}}";
}

private static String getParams(HashMap<String, String> paramsMap) {
String result = "";
for (HashMap.Entry<String, String> entity : paramsMap.entrySet()) {
result += "&" + entity.getKey() + "=" + entity.getValue();
}
return result.substring(1);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: