zoukankan      html  css  js  c++  java
  • 如何在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(); 
  • 相关阅读:
    【bzoj 4710】 [Jsoi2011]分特产
    【bzoj 3622】已经没有什么好害怕的了
    【bzoj 2839】集合计数
    [HAOI2018]染色
    [JSOI2016]扭动的回文串
    [APIO2014]回文串
    【AT987】高橋君
    [CEOI2017]Building Bridges
    [ZJOI2017]树状数组
    [SDOI2017]树点涂色
  • 原文地址:https://www.cnblogs.com/MDK-L/p/3791303.html
Copyright © 2011-2022 走看看