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

  • 相关阅读:
    不记住密码
    在Docker中进行Redis主从配置
    Spring Boot系列(8)——RabbitMQ确认、退回模式及死信队列
    RabbitMQ基础
    CentOS只有lo和ens33网卡的解决方案
    Spring Boot系列(7)——自定义异常反馈
    Spring Boot系列(6)——Configurer和Customizer
    以form表单重用方式进行数据列表行删除
    Spring Boot系列(5)——Restful CURD注意事项
    Spring Boot系列(4)——实现国际化
  • 原文地址:https://www.cnblogs.com/roucheng/p/winformpostget.html
Copyright © 2011-2022 走看看