如何在WinForm中发送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("&lt;","<");

15 strValue = strValue.Replace("&gt;",">");

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("&lt;","<");

32 strValue = strValue.Replace("&gt;",">");

33 MessageBox.Show(strValue); 

34 Reader.Close(); 

 

 

你可能感兴趣的:(WinForm)