在WinForm中发送HTTP请求的实现方法

 更新时间:2016年06月07日 10:51:00   投稿:jingxian  
下面小编就为大家带来一篇在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();

手工发送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();

以上这篇在WinForm中发送HTTP请求的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • C#中的Linq To XML讲解

    C#中的Linq To XML讲解

    本文详细讲解了C#中的Linq To XML,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#回收机制之资源回收托管

    C#回收机制之资源回收托管

    这篇文章介绍了C#回收机制之资源回收托管,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#实现学生模块的增删改查

    C#实现学生模块的增删改查

    这篇文章主要为大家详细介绍了C#实现学生模块的增删改查,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解C#编程获取资源文件中图片的方法

    详解C#编程获取资源文件中图片的方法

    这篇文章主要介绍了详解C#编程获取资源文件中图片的方法的相关资料,需要的朋友可以参考下
    2017-06-06
  • C#文件和字节流的转换方法

    C#文件和字节流的转换方法

    这篇文章主要介绍了C#文件和字节流的转换方法,涉及C#将文件以字节流形式读取及将字节流写入文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • C# 设计模式系列教程-原型模式

    C# 设计模式系列教程-原型模式

    原型模式隐藏了对象的创建细节,对有些初始化需要占用很多资源的类来说,对性能也有很大提高。
    2016-06-06
  • c#匹配整数和小数的正则表达式

    c#匹配整数和小数的正则表达式

    c#中使用正则表达式需要加入using System.Text.RegularExpressions的引用
    2010-12-12
  • 详解C# 不能用于文件名的字符

    详解C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符,那么具体是包括哪些符号不能作为文件名呢?下面小编给大家介绍下
    2018-02-02
  • C#解决SQlite并发异常问题的方法(使用读写锁)

    C#解决SQlite并发异常问题的方法(使用读写锁)

    这篇文章主要介绍了C#解决SQlite并发异常问题的方法,通过使用读写锁达到多线程安全访问,进而解决SQLite并发异常的问题,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • C# 泛型类(函数)的实例化小例子

    C# 泛型类(函数)的实例化小例子

    C# 泛型类(函数)的实例化小例子,需要的朋友可以参考一下
    2013-04-04

最新评论