首先这个流程分为两步
第一步:使用 HttpWebRequest 创建一个http请求接口示例
第二部:使用 HttpWebResponse 创建一个接收服务器响应请求(接收接口返回的数据)实例
无论是HttpWebRequest 请求,还是HttpWebResponse参数(请求参数,返回结果)都是通过流(stream)来实现的
简易版本
copy:
HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(TokenUrl);
HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string responseText = streamReader.ReadToEnd();
streamReader.Close();
MessageBox.Show(responseText);
升级版
copy:
//请求的接口地址
string url = "";
//创建一个http请求实例
HttpWebRequest HWR = (HttpWebRequest)WebRequest.Create(url);
HWR.Timeout = 3000;
HWR.Method = "POST";
HWR.ContentType = "application/json";
//头部携带信息
HWR.Headers.Add("RandomCode", "RandomCode");
HWR.Headers.Add("Authorization", "Authorization");
#region 如果使用?传值就不用这个了
//开始设置请求数据
byte[] bytes = Encoding.UTF8.GetBytes("asdf");
//请求参数的长度
HWR.ContentLength = bytes.Length;
//HWR.GetRequestStream() 获取用于写入请求数据的 System.IO.Stream 对象。
using (Stream sw = HWR.GetRequestStream())
{
//将请求参数写入HWR.GetRequestStream对象
sw.Write(bytes, 0, bytes.Length);
}
#endregion
// 开始获取返回的流数据
//创建一个http接口响应实例
HttpWebResponse httpResponse = (HttpWebResponse)HWR.GetResponse();
//获取流,该流用于读取来自服务器的响应的体。
Stream stream = httpResponse.GetResponseStream();
//返回结果
string result;
using (StreamReader streamReader=new StreamReader(stream,Encoding.UTF8))
{
result= streamReader.ReadToEnd();
}