国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用post發送和接收數據的方法

2020-01-24 01:55:03
字體:
來源:轉載
供稿:網友

本文實例講述了C#使用post發送和接收數據的方法。分享給大家供大家參考。具體實現方法如下:

public partial class Post_Server : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {  string type = "";  string Re = "";  Re += "數據傳送方式:";  if (Request.RequestType.ToUpper() == "POST")  {   type = "POST";   Re += type + "<br/>參數分別是:<br/>";   SortedList table = Param();   if (table != null)   {    foreach (DictionaryEntry De in table) {     Re += "參數名:" + De.Key + " 值:" + De.Value + "<br/>";    }   }   else   { Re = "你沒有傳遞任何參數過來!"; }  }  else  {   type = "GET";   Re += type + "<br/>參數分別是:<br/>";   NameValueCollection nvc = GETInput();   if (nvc.Count != 0)   {    for (int i = 0; i < nvc.Count; i++){    Re += "參數名:"+nvc.GetKey(i)+"值:"+nvc.GetValues(i)[0]+"<br/>"; }   }   else   { Re = "你沒有傳遞任何參數過來!"; }  }  Response.Write(Re); } //獲取GET返回來的數據 private NameValueCollection GETInput() { return Request.QueryString; } // 獲取POST返回來的數據 private string PostInput() {  try  {   System.IO.Stream s = Request.InputStream;   int count = 0;   byte[] buffer = new byte[1024];   StringBuilder builder = new StringBuilder();   while ((count = s.Read(buffer, 0, 1024)) > 0)   {    builder.Append(Encoding.UTF8.GetString(buffer,0,count));   }   s.Flush();   s.Close();   s.Dispose();   return builder.ToString();  }  catch (Exception ex)  { throw ex; } } private SortedList Param() {  string POSTStr = PostInput();  SortedList SortList = new SortedList();  int index = POSTStr.IndexOf("&");  string[] Arr = { };  if (index != -1) //參數傳遞不只一項  {   Arr = POSTStr.Split('&');   for (int i = 0; i < Arr.Length; i++)   {    int equalindex = Arr[i].IndexOf('=');    string paramN = Arr[i].Substring(0, equalindex);    string paramV = Arr[i].Substring(equalindex + 1);    if (!SortList.ContainsKey(paramN))    //避免用戶傳遞相同參數    { SortList.Add(paramN, paramV); }    else //如果有相同的,一直刪除取最后一個值為準    {     SortList.Remove(paramN); SortList.Add(paramN, paramV);    }   }  }  else //參數少于或等于1項  {   int equalindex = POSTStr.IndexOf('=');   if (equalindex != -1)   { //參數是1項    string paramN = POSTStr.Substring(0, equalindex);    string paramV = POSTStr.Substring(equalindex + 1);    SortList.Add(paramN, paramV);   }   else //沒有傳遞參數過來   { SortList = null; }  }  return SortList; }}protected void Button1_Click(object sender, EventArgs e){  Encoding encode = System.Text.Encoding.GetEncoding("utf-8");  byte[] arrB = encode.GetBytes("aa=aa&bb=好飛");  HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://localhost:11626/MyTest/Post_Server.aspx");  myReq.Method = "POST";  myReq.ContentType = "application/x-www-form-urlencoded";  myReq.ContentLength = arrB.Length;  Stream outStream = myReq.GetRequestStream();  outStream.Write(arrB, 0, arrB.Length);  outStream.Close();  //接收HTTP做出的響應  WebResponse myResp = myReq.GetResponse();  Stream ReceiveStream = myResp.GetResponseStream();  StreamReader readStream = new StreamReader(ReceiveStream, encode);  Char[] read = new Char[256];  int count = readStream.Read(read, 0, 256);  string str = null;  while (count > 0)  {   str += new String(read, 0, count);   count = readStream.Read(read, 0, 256);  }  readStream.Close();  myResp.Close();  Response.Write(str);}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白城市| 尖扎县| 加查县| 武汉市| 长沙县| 四平市| 康定县| 元阳县| 廊坊市| 深泽县| 枣庄市| 苍山县| 和田县| 齐齐哈尔市| 中江县| 金秀| 南平市| 潜江市| 镇巴县| 信宜市| 阿拉善右旗| 丰宁| 高邑县| 彰化市| 临城县| 崇左市| 商丘市| 固安县| 新巴尔虎左旗| 中西区| 闻喜县| 沂水县| 贵州省| 竹溪县| 清徐县| 武清区| 九江县| 合江县| 阜康市| 新蔡县| 大渡口区|