C#实现HTTP协议POST请求

来源:互联网 发布:搜狐网络大厦饭卡 编辑:程序博客网 时间:2024/06/08 06:41

步骤

 

1. 编辑并Encoding提交的数据,格式类似 表单域名称1=值1&表单域名称2=值2&表单域名称3=值3……;

2. 发送请求(HttpWebRequest);

3. 获得回复(HttpWebResponse)。

 

[c-sharp] view plaincopy
  1. private string PostRequest(string url, string[] paramName, string[] paramValue)  
  2. {  
  3.     // 编辑并Encoding提交的数据  
  4.     StringBuilder sbuilder = new StringBuilder(paramName[0] + "=" + paramValue[0]);  
  5.     for (int i = 1; i < paramName.Length; i++)  
  6.         sbuilder.Append("&" + paramName[i] + "=" + paramValue[i]);  
  7.     byte[] data = new ASCIIEncoding().GetBytes(sbuilder.ToString());  
  8.   
  9.     // 发送请求  
  10.     System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);  
  11.     request.Method = "POST";  
  12.     request.ContentType = "application/x-www-form-urlencoded";  
  13.     request.ContentLength = data.Length;  
  14.     Stream stream = request.GetRequestStream();  
  15.     stream.Write(data, 0, data.Length);  
  16.     stream.Close();  
  17.   
  18.     // 获得回复  
  19.     System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();  
  20.     StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);  
  21.     string result = reader.ReadToEnd();  
  22.     reader.Close();  
  23.   
  24.     return result;  
  25. }  

 

 

0 0
原创粉丝点击