zoukankan      html  css  js  c++  java
  • 如何在WinForm中发送HTTP请求

    如何在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("&lt;","<");
    strValue = strValue.Replace("&gt;",">");
    MessageBox.Show(strValue); 
    Reader.Close();
    /* 何问起 hovertree.com */

    手工发送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("&lt;","<");
    strValue = strValue.Replace("&gt;",">");
    MessageBox.Show(strValue); 
    Reader.Close();
    /* 何问起 hovertree.com */

    转自:http://hovertree.com/h/bjaf/i7cux0g6.htm

    推荐:http://www.cnblogs.com/roucheng/p/3521864.html

  • 相关阅读:
    六、order set结构及命令详解
    五、set结构及命令详解
    四、redis的link结构及命令详解
    三、redis对字符串类型的操作
    二、redis对于key的操作命令
    一、redis的特点以及安装使用
    Mysql5.7以上版本group by报错问题
    1.4 java高并发程序设计-无锁
    sysbench工具和mysql的基准测试
    sqli-labs(29-31关)
  • 原文地址:https://www.cnblogs.com/roucheng/p/winformpostget.html
Copyright © 2011-2022 走看看