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结果如下