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 String  HttpGet(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.在子线程中访问网络。

时间: 2024-08-29 21:40:56

Android URLConnection发送Get请求 HttpGet封装的相关文章

android volley 发送 POST 请求

Map<String, String> params = new HashMap<String, String>(); params.put("fromUser", "lesliefang"); params.put("toUser", "xiaojun"); JsonObjectRequest newMissRequest = new JsonObjectRequest( Request.Method

通过java.net.URLConnection发送HTTP请求的方法

1.GET与POST请求的区别 a) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, b) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内. 2.URLConnection的对象 a) 获取URLConnection实例 URL url = new URL(urlString); // 根据url生成urlConnection对象 urlConnection = (HttpURLConnection) url.

原生js和jquery发送ajax请求及封装

原生js                                   // ajax get 五部曲function ajax_get(url,data){ // 异步对象 var ajax=new XMLHttpRequest(); // 设置url和请求方式 // url方法 如果有数据要把数据拼接到url中?name=jack&age=20 if(data){ url+=?; url+=data; }else{}; ajax.open('get',url); // 发送请求 aja

Android系列之网络(一)----使用HttpClient发送HTTP请求

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4004983.html 联系方式:[email protected] 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基

java 常见几种发送http请求案例

1 import java.io.FileOutputStream; 2 import java.io.IOException; 3 import java.io.InputStream; 4 import java.io.InputStreamReader; 5 import java.io.OutputStreamWriter; 6 import java.io.UnsupportedEncodingException; 7 import java.net.HttpURLConnection

【Stackoverflow问题精选】如何使用java.net.URLConnection收发HTTP请求

问题 如何使用java.net.URLConnection收发HTTP请求呢?处理Http请求,有哪些最佳实践? 讨论: 精华回答 首先声明,下面的代码,都是基本的例子.更严谨的话,还应加入处理各种异常的代码(如IOExceptions.NullPointerException.ArrayIndexOutOfBoundsException) 准备 首先,需要设置请求的URL以及charset(编码):另外还需要哪些参数,则取决于各自url的要求. String url = "http://exa

IOS发送网络请求 心得

路线: 实例化URL (网络资源) 利用 URL 建立URLReques (网络请求) 默认是get 请求 对于post 请求 需要创建请求数据体          利用 URLConnection 发送网络请求 (建立连接) 获得结果 或者: (也就是:) URL Reques Connection  HTTP   中利用  URLReques 建立网络请求方式:  GET & POST              get 请求 是 从服务器中取            post 请求 是 往服务

JAVA发送HttpClient请求及接收请求结果过程

下面为本人自己在工作中写业务代码的,并不是通用的,只供自己下次使用时能有个查找地,及正处在困扰中的程序员借鉴. 推荐好点博客给大家看看: http://blog.sina.com.cn/s/blog_75a8cfac01013aim.html http://blog.csdn.net/fireelement/article/details/2497136 http://www.2cto.com/kf/201206/136879.html http://284772894.iteye.com/bl

Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 联系方式:[email protected] [系列]Android系列之网络:(持续更新) Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) Android系列之网络(二)----HTTP请求头与响应头 Android