国产探花免费观看_亚洲丰满少妇自慰呻吟_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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮阳县| 明水县| 昆山市| 湾仔区| 余江县| 依安县| 庄河市| 浑源县| 平遥县| 巴青县| 新竹市| 军事| 新闻| 独山县| 正定县| 尉氏县| 卢氏县| 孟津县| 额敏县| 托里县| 星子县| 杭州市| 寿光市| 乐亭县| 翼城县| 洪湖市| 华池县| 达拉特旗| 顺平县| 静海县| 全州县| 新和县| 洮南市| 彰武县| 峨山| 拜泉县| 诏安县| 白玉县| 阳曲县| 长沙县| 修文县|