HTTP——GET请求

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;
    }

相关推荐

  1. SpringMVC-请求

    2024-07-15 22:36:03       50 阅读
  2. http请求转发、springboot请求转发、servlet转发请求

    2024-07-15 22:36:03       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 22:36:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 22:36:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 22:36:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 22:36:03       69 阅读

热门阅读

  1. linux系统php开机自启动 phpfpm

    2024-07-15 22:36:03       17 阅读
  2. Android12 OTA全包升级清除用户数据

    2024-07-15 22:36:03       20 阅读
  3. 写在2024美洲杯之后

    2024-07-15 22:36:03       20 阅读
  4. AI艺术革命:使用神经网络生成创新艺术作品

    2024-07-15 22:36:03       18 阅读
  5. JUC练习——线程安全的计数器

    2024-07-15 22:36:03       19 阅读
  6. vue3~

    vue3~

    2024-07-15 22:36:03      18 阅读
  7. QSqlQuery::value: not positioned on a valid record

    2024-07-15 22:36:03       22 阅读
  8. 基于金碟云星空实现硬件ECN校验

    2024-07-15 22:36:03       18 阅读
  9. ObjectiveC 内存管理

    2024-07-15 22:36:03       21 阅读
  10. 7.15作业

    2024-07-15 22:36:03       23 阅读