如何在WinForm中请求发送HTTP
手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法
手工发送HTTP的GET请求:
string strURL = \"http://localhost/Play/CH1/Service1.asmx/doSearch?keyword=\"; strURL +=this.textBox1.Text; System.Net.HttpWebRequest request; // 创建一个HTTP请求 request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); //request.Method=\"get\"; System.Net.HttpWebResponse response; response = (System.Net.HttpWebResponse)request.GetResponse(); System.IO.Stream s; s = response.GetResponseStream(); XmlTextReader Reader = new XmlTextReader(s); Reader.MoveToContent(); string strValue = Reader.ReadInnerXml(); strValue = strValue.Replace(\"<\",\"<\"); strValue = strValue.Replace(\">\",\">\"); MessageBox.Show(strValue); Reader.Close();
手工发送HTTP的POST请求
string strURL = \"http://localhost/Play/CH1/Service1.asmx/doSearch\"; System.Net.HttpWebRequest request; request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); //Post请求方式 request.Method=\"POST\"; // 内容类型 request.ContentType=\"application/x-www-form-urlencoded\"; // 参数经过URL编码 string paraUrlCoded = System.Web.HttpUtility.UrlEncode(\"keyword\"); paraUrlCoded += \"=\" + System.Web.HttpUtility.UrlEncode(this.textBox1.Text); byte[] payload; //将URL编码后的字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); //设置请求的 ContentLength request.ContentLength = payload.Length; //获得请 求流 Stream writer = request.GetRequestStream(); //将请求参数写入流 writer.Write(payload,0,payload.Length); // 关闭请求流 writer.Close(); System.Net.HttpWebResponse response; // 获得响应流 response = (System.Net.HttpWebResponse)request.GetResponse(); System.IO.Stream s; s = response.GetResponseStream(); XmlTextReader Reader = new XmlTextReader(s); Reader.MoveToContent(); string strValue = Reader.ReadInnerXml(); strValue = strValue.Replace(\"<\",\"<\"); strValue = strValue.Replace(\">\",\">\"); MessageBox.Show(strValue); Reader.Close();
以上这篇在WinForm中发送HTTP请求的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。
本文地址:https://www.stayed.cn/item/24360
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我