HTTP——GET请求

GET【**获取资源**】本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。 即GET请求只用来向服务器获取资源,而GET请求本身不应该携带任何呈现数据。

场景

1. 登录时GET获取服务器数据库用户名和密码进行验证。
2. 下载文本、图片、音视频等时获取服务器资源。

发送GET请求

get请求的数据一般都是json格式,所以后续需要通过json反序列化转为相对应的对象,进行使用

    // 1 创建请求对象
    // URL
    string s = "http://music.163.com/store/api/product/ipbanner?type=0";
    // 请求对象  参数是URL
    WebRequest req = WebRequest.Create(s);
    
    // 2 设置请求类型
    req.Method = "GET"; 
    
    // 3 请求超时时间
    req.Timeout = 30000;
    
    // 4 获取响应数据 req请求对象 ,res响应对象
    WebResponse res = req.GetResponse();
    
    // 5 把响应数据转成文件流进行读取
    Stream str = res.GetResponseStream();
    
    // 6 把文件流转成字符串类型 使用读取对象读取文件流的数据
    StreamReader sr = new StreamReader(str);
    string data = sr.ReadToEnd(); // 把读取对象里面的数据读完
    
    // 关闭文件流
    str.Close();
    sr.Close();

将GET请求封装在异步

    private Task<string> HttpGetASync(string url)
    {
        Task<string> t = Task.Run(() =>
        {
            WebRequest request = WebRequest.Create(url);
            request.Method = "GET";
    
            WebResponse response = request.GetResponse();
            Stream st = response.GetResponseStream();
            StreamReader sr = new StreamReader(st);
            string data = sr.ReadToEnd();
            sr.Close();
            st.Close();
            return data;
        });
    
        return t;
    }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部