程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# Post數據和接收簡單示例

C# Post數據和接收簡單示例

編輯:C#入門知識

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;www.2cto.com         while (count > 0)         {             str += new String(read, 0, count);             count = readStream.Read(read, 0, 256);         }         readStream.Close();         myResp.Close();           Response.Write(str);     }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved