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

  • 相关阅读:
    《算法竞赛进阶指南》0x00 Hamiton路径 位运算
    HDOJ1170二叉树的遍历 经典问题
    HDOJ1527博弈论之Wythoff游戏
    HDOJ1848NIM博弈 SG函数
    CRC校验码
    Delphi DBGrid 获取焦点几行和几列
    程序进制 常用简写标识
    Delphi 转换函数 HexToBin用法 将16进制字串转成二进制
    细胞-红细胞
    细胞-白细胞-中性粒细胞
  • 原文地址:https://www.cnblogs.com/roucheng/p/winformpostget.html
Copyright © 2011-2022 走看看