网络编程—— Http的Get请求

http: hyper text transport protocal:超文本传输协议。
http是一种基于客户端-服务器模式的协议(Client-Server)。它规定只能由客户端先发起请求给服务器, 服务器做出响应。

http数据传输以数据报文的形式进行,
客户端向服务器发起的请求叫做请求报文。
服务器向客户端返回的数据叫做响应报文。

 请求报文分为4部分:

        请求行:请求方式(get/post……),HTTP版本号,请求的路径及参数。例如:post http/1.2         /index? name = zhangsan
        请求头:本次请求的信息,例如本次请求发送的数据长度,发送的数据类型,客户端设备信息
        (空行):用于分割请求头和请求体
        请求体:本次请求所发送的数据。

响应报文分为4部分:

         响应行:  本次响应的状态结果和状态码,HTTP版本号。例如:200OK http1.2
         响应头:本次响应的信息,例如响应数据的类型,cookie,服务器信息等。
        (空行)
        响应体:本次响应的数据。

        请求行类型:Get请求  http://www.127.0.0.1:3000/my?name=zs&psw=123

HttpGet的请求的特点

        1 请求参数直接拼接在url之后的 并且以?隔开,俩个参数之间用&符合隔开,传递参数有限制。
        2 get请求相对来说不安全
        3 get请求有缓存

关于HttpGet的请求的实例

创建点击Get请求按钮,显示数据的界面

按钮点击事件

 接口URL: http://192.168.113.74:3000/getTest?type=1

 请求类型:GET

发送get请求

WebRequest :web浏览器,request请求,改类是实现http请求的一种方式
            Create() 根据参数创建一个请求对象,参数是url是字符串类型
            127.0.0.1:3000 服务器的ip地址和端口号

1创建请求对象
string s = "https://music.163.com/store/api/product/ipbanner?type=0";
//string s = "https://autumnfish.cn/captcha/sent?phone=15236035898";
WebRequest req = WebRequest.Create(s);
 2 设置请求类型
req.Method = "GET";
3 请求超时时间 
req.Timeout = 30000;//30s
4获取响应数据 req请求对象,res响应对象
 WebResponse  res = req.GetResponse();
5 把响应数据转成文件流进行读取
Stream str=res.GetResponseStream();
6 把文件流转成字符串类型 使用读取对象读取文件流的数据
StreamReader sr = new StreamReader(str);
string data = sr.ReadToEnd();// 把读取对象里面数据读完
//把图片的url显示在label
关闭文件流
str.Close();
sr.Close();
this.label1.Text = "响应数据:" + data;

点击Get请求按钮,请求1结果如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HunyuanDiT

1、依赖关系和安装 首先克隆存储库: git clone https://github.com/tencent/HunyuanDiT cd HunyuanDiT unzip HunyuanDiT-main.zip 2、一个environment.yml用于设置 Conda 环境的文件一个environment.yml用于设置 Conda 环境的文件 conda create -n hunyuandit py…

centos7 redis开机启动

[rootlocalhost system]# vim /etc/systemd/system/redis.service 版本是5.0 /usr/local/redis 是redis安装目录 [Unit] DescriptionRedis.server # 指定服务所依赖的其他单元(如网络服务)。这确保在启动该服务之前,所需的其他单元已经启动…

C++语法|虚函数与多态详细讲解(七)|理解抽象类?(面试向)

系列汇总讲解,请移步: C语法|虚函数与多态详细讲解系列(包含多重继承内容) 主要是两个问题: 抽象类和普通类有什么区别?一般把什么类处理处理成抽象类 在这里,案例我们仍然沿用上篇…

【Linux玩物志】Linux环境开发基本工具使用(终章) ——git与gdb调试器

W...Y的主页 😊 代码仓库分享 💕 前言:这是最后一篇Linux工具篇,今天这篇文章我们要来简单讲一件git与调试器gdb。 目录 使用 git 命令行 安装 git 在 Github 创建项目 注册账号 创建项目 ​编辑 下载项目到本地 在 Gite…

leetcode397周赛场

第一题:两个字符串的排列差 给你两个字符串 s 和 t,每个字符串中的字符都不重复,且 t 是 s 的一个排列。 排列差 定义为 s 和 t 中每个字符在两个字符串中位置的绝对差值之和。 返回 s 和 t 之间的 排列差 。 示例 1: 输入&am…

解决push时,报错error_ failed to push some refs to ‘https___gitee.com_...‘

remote: error: File: 90c5365492dea3b3c855b2375f1de8588ac1bda4 162.65 MB, exceeds 100.00 MB. 原因是上传的文件超过100.00 MB Gitee限制上传的每个文件的大小,不能超过100MB 高于100MB无法上传到Gitee远程仓库,把超过大小的文件添加到Git忽略提交规…

融合基因组序列识别scATAC-seq的细胞类型

利用scATAC-seq技术进行单细胞分析,可以在单细胞分辨率下深入了解基因调控和表观遗传异质性,但由于数据的高维性和极端稀疏性,scATAC-seq的细胞注释仍然具有挑战性。现有的细胞注释方法大多集中在细胞峰矩阵上,没有充分利用潜在的…

【Flutter】 webview请求权限问题

需求&#xff1a;webview可以通过录音后语音转文字。 使用插件&#xff1a; permission_handler: ^11.0.1 webview_flutter: ^4.7.0 代码如下&#xff1a; 1.添加权限 添加安卓的权限&#xff1a; android/app/src/main/AndroidManifest.xml <uses-permission android…

vue使用EventBus进行跨组件通信

Vue中的EventBus&#xff0c;又称为事件总线&#xff0c;是一种常用的通信模式&#xff0c;它允许在Vue应用程序的不同组件之间进行松耦合的通信&#xff0c;尤其是对于那些没有直接父子关系的组件间的通信非常有用。EventBus基于Vue的自定义事件系统实现&#xff0c;工作原理遵…

商品指数创年内新高,粘性通胀成为美联储噩梦

文章概述 虽然美国4月CPI增幅放缓让美联储今年降息的可能性大增&#xff0c;但与此同时&#xff0c;大宗商品价格却达到了一年来的最高水平&#xff0c;粘性通胀可能成为美联储的噩梦。数据显示&#xff0c;跟踪24种能源、金属和农业合约彭博大宗商品现货指数今年以来已经上涨…

【ARM 嵌入式 C 入门及渐进 6.3 -- C 函数嵌入多条汇编语句 】

请阅读【嵌入式开发学习必备专栏】 文章目录 C 函数嵌入多条汇编语句C 函数嵌入多条汇编语句 在C代码中嵌入多条ARMv8汇编语句,可以通过将这些汇编指令放置在一个asm块内来实现。使用GCC的内嵌汇编语法,你可以顺序地编写多个指令,并根据需要指定输入、输出和被破坏(clobbe…

【APM】在Kubernetes中,使用Helm安装Prometheus Server 0.73.2(开启远程写入功能)

1、Prometheus 简介 Prometheus 是一款开源的监控和警报系统,起源于 SoundCloud 并在2012年开始被广泛采用。它在2016年成为 Cloud Native Computing Foundation (CNCF) 的成员项目,与 Kubernetes 齐名,是云原生计算领域的重要组成部分。Prometheus 以其强大的灵活性、易用…

训练的过程中内存一直增加的问题

可能的原因一&#xff1a; 解决pytorch训练的过程中内存一直增加的问题_pytorch训练过程中,内存一直增长-CSDN博客 可能的原因二&#xff1a; DataLoader num_workers > 0 causes CPU memory from parent process to be replicated in all worker processes Issue #13246…

DAY2 NETWORK

① 什么是IP地址 IP地址&#xff1a;是计算机在网络中唯一的标识&#xff0c;由两部分组成 分别是表示网络区域的网络号&#xff0c;和该网络下的主机编号 网络号&#xff1a;确定计算机所从属于哪个局域网络 主机号&#xff1a;计算机在该局域网络下的一个编号 ② IP的划分…

使用Flask ORM进行数据库操作的技术指南

文章目录 安装Flask SQLAlchemy配置数据库连接创建模型类数据库操作插入数据查询数据更新数据删除数据 总结 Flask是一个轻量级的Python Web框架&#xff0c;其灵活性和易用性使其成为开发人员喜爱的选择。而ORM&#xff08;对象关系映射&#xff09;则是一种将数据库中的表与面…

LeetCode题练习与总结:二叉树的最大深度--104

一、题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1a;root […

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件开发环境搭建 IDF_V5.2.1

一、安装Visual Studio Code 下载地址&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 打开上方链接&#xff0c;选择页面中的Windows版本&#xff0c;单击下载 将下载好的VSCodeUserSetup-x64-1.89.1.exe。单击右键&#xff0c;选择以管理员身份运行&#xf…

雪花算法 代码

/*** author lwh* date 2023/9/5* description 批量插入&#xff0c;手动设置**/ public class IdWorker {//因为二进制里第一个 bit 为如果是 1&#xff0c;那么都是负数&#xff0c;但是我们生成的 id 都是正数&#xff0c;所以第一个 bit 统一都是 0。//机器ID 2进制5位 3…

jenkins自动化部署详解

一、准备相关软件 整个自动化部署的过程就是从git仓库拉取最新代码&#xff0c;然后使用maven进行构建代码&#xff0c;构建包构建好了之后&#xff0c;通过ssh发送到发布服务的linux服务器的目录&#xff0c;最后在此服务器上执行相关的linux命令进行发布。 此篇文章jenkins…

gsap笔记

1.gsap基础 gsap.to() //从初始位置到设定位置 gsap.from() //从设定位置到初始位置 gsap.from("h1",{stagger:1 //设定末状态repeate:2 //重复次数yoyo: true //来回动画scale&#xff1a;1 //缩放倍数 }) //stagger:相同元素的按序播放…