標籤:winform style class blog code http
Winform表單中發送HTTP請求
手工發送HTTP請求主要是調用 System.Net的HttpWebResponse方法
手工發送HTTP的GET請 求:
1 string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch?keyword="; 2 strURL +=this.textBox1.Text; 3 System.Net.HttpWebRequest request; 4 // 建立一個HTTP請求 5 request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); 6 //request.Method="get"; 7 System.Net.HttpWebResponse response; 8 response = (System.Net.HttpWebResponse)request.GetResponse(); 9 System.IO.Stream s;10 s = response.GetResponseStream();11 XmlTextReader Reader = new XmlTextReader(s);12 Reader.MoveToContent();13 string strValue = Reader.ReadInnerXml();14 strValue = strValue.Replace("<","<");15 strValue = strValue.Replace(">",">");16 MessageBox.Show(strValue); 17 Reader.Close();
手工發送HTTP的POST請求
1 string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch"; 2 System.Net.HttpWebRequest request; 3 4 request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); 5 //Post請求方式 6 request.Method="POST"; 7 // 內容類型 8 request.ContentType="application/x-www-form-urlencoded"; 9 // 參數經過URL編碼10 string paraUrlCoded = System.Web.HttpUtility.UrlEncode("keyword");11 paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode(this.textBox1.Text);12 byte[] payload;13 //將URL編碼後的字串轉化為位元組14 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);15 //佈建要求的 ContentLength 16 request.ContentLength = payload.Length;17 //獲得請 求流18 Stream writer = request.GetRequestStream();19 //將請求參數寫入流20 writer.Write(payload,0,payload.Length);21 // 關閉請求流22 writer.Close();23 System.Net.HttpWebResponse response;24 // 獲得響應流25 response = (System.Net.HttpWebResponse)request.GetResponse();26 System.IO.Stream s;27 s = response.GetResponseStream();28 XmlTextReader Reader = new XmlTextReader(s);29 Reader.MoveToContent();30 string strValue = Reader.ReadInnerXml();31 strValue = strValue.Replace("<","<");32 strValue = strValue.Replace(">",">");33 MessageBox.Show(strValue); 34 Reader.Close();