【.NET】 HTTP协议之webrequest

零——简介

一、GET

二、POST

  emmm在post这里在了很多跟头,记忆很深刻。

  2.1 传json的Post:简单粗暴的两个参数 一个是网址(接口),一个是json数据

    分为了六个步骤  :    

  /// 1.定义请求字符:把json以一定的编码方式转成字节码
        /// 2.新建请求
        /// 3.请求以流发送:通过字节流把字节码发送到指令的接口
        /// 4.定义回复
        /// 5.流读取
        /// 6.结果处理

 1  public string HttpRequestPostJson(string url,string json)
 2         {
 3             string result;
 4             try
 5             {
 6                 //1.定义请求字符
 7                 string postData = json;
 8                 byte[] bt = Encoding.UTF8.GetBytes("recieved=" + postData);
 9                 //2.建立请求,设置请求属性
10                 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(cbxUrl.Text.Trim() + "?" + "recieved=" + postData);
11                 req.Method = "POST";
12                 req.ContentType = "application/json";
13                 req.ContentLength = bt.Length;
14                 //req.Headers;
15                 //3.请求以流发送
16                 Stream streamReq = req.GetRequestStream();
17                 streamReq.Write(bt, 0, bt.Length);
18                 streamReq.Close();
19                 //4.定义回复
20                 HttpWebResponse res = (HttpWebResponse)req.GetResponse();
21                 //5.流读取
22                 Stream streamRes = res.GetResponseStream();
23                 StreamReader reader = new StreamReader(streamRes, Encoding.UTF8);
24                 //6.结果处理
25                 result = reader.ReadToEnd();
26                 reader.Close();
27                 req.Abort();
28                 MessageBox.Show(result);
29             }
30             catch (Exception e)
31             {
32 
33                 return e.Message;
34             }
35             return result;
36         }

  2.2传表单的application/x-www-form-urlencoded

  x-www-form-urlencoded是一种常见的传表单的格式,基本步骤都是一样的,差别只是在ContentType和Json不一样,这里也是要注意接口的链接。

  

 1  private string PostWebRequest(string postUrl, string tableData)
 2         {
 3             string result = string.Empty;
 4             try
 5                  {
 6                         if (!postUrl.StartsWith("http://"))
 7                             return "( •̀ ω •́ )y请输入正确的网址";
 8                         byte[] bt = Encoding.Default.GetBytes(tableData); //转化 /                
 9                         HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(postUrl)+tableData);
10                         req.Method = "POST";
11                         req.ContentType = cbxType.Text;
12                         req.ContentLength = bt.Length;
13                         Stream streamReq = req.GetRequestStream();
14                         streamReq.Write(bt, 0, bt.Length);//写入参数                
15                         streamReq.Close();
16                         HttpWebResponse res = (HttpWebResponse)req.GetResponse();
17                         StreamReader reader = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
18                         result = reader.ReadToEnd();
19                         reader.Close();
20                         res.Close();
21                         streamReq.Close();
22                 }
23             catch (Exception ex)
24                 {
25                     return ex.Message;
26                 }
27             return result;
28         }

  

猜你喜欢

转载自www.cnblogs.com/wangsure/p/10755323.html
今日推荐