Android URLConnection发送Get请求 HttpGet封装

【Android URLConnection发送Get请求 HttpGet封装】上下观古今,起伏千万途。这篇文章主要讲述Android URLConnection发送Get请求 HttpGet封装相关的知识,希望能为你提供帮助。
一.使用URLConnection发送Get请求
1.与服务器建立连接:

URLConnection connection=new URL(“https://www.baidu.com/”).openConnection();

2.设置请求头(Cookie亦可通过请求头设置):
connection.setRequestProperty(“Referer”,“https://www.baidu.com/”);

connection.setRequestProperty(“Cookie”,“BIDUPSID=844B9321236FFD30C304AE4CCEE0602A; BD_UPN=12314753”);

3.获取响应信息:
(1):建议使用StringBuilder拼接字符串;
(2):如果new了流对象不要忘记close。
  注意关闭顺序:关闭要与new的顺序反过来。
  抽象理解:下班回家睡觉 先进入小区,再进入家,再进入卧室;上班时就要先走出卧室,再走出家,最后走出小区。要遵循规则,不能使用闪现技能直接走出小区。
StringBuilder response=new StringBuilder(); InputStream is=connection.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); String str; while ((str=br.readLine())!=null){ response.append(str); } br.close(); is.close();

return response.toString();

 
二.HttpGet封装
源码:
static public StringHttpGet(String url,Map headers){try { //打开连接 URLConnection connection=new URL(url).openConnection(); //设置请求头 if(headers!=null){ Object[] objects=headers.entrySet().toArray(); for (Object o: objects) { String[] strings=o.toString().split("="); connection.setRequestProperty(strings[0],strings[1]); } } //获取响应信息 StringBuilder response=new StringBuilder(); BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream())); String str; while ((str=br.readLine())!=null){ response.append(str); } br.close(); //返回结果 return response.toString(); } catch (IOException e) { e.printStackTrace(); }return null; }

调用:
Map headers=new HashMap(); headers.put("Referer","https://www.baidu.com/"); headers.put("Cookie","BIDUPSID=844B9321236FFD30C304AE4CCEE0602A; BD_UPN=12314753") HttpGet("https://www.baidu.com/",headers);

 
三.android网络请求两大要素
1.申请网络权限:< uses-permission android:name="android.permission.INTERNET"> < /uses-permission> ;
2.在子线程中访问网络。



    推荐阅读