Winform窗体中发送HTTP请求 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法
手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法
手工发送HTTP的GET请 求:
C# code
/
向服务器发出申请
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";默认为“get”
/
//服务器对上面请求的返回结果。由于是web service,返回是xml文件,所以使用下面的方式接收显示
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("<","<");
strValue = strValue.Replace(">",">");
MessageBox.Show(strValue);
Reader.Close();
手工发送HTTP的POST请求
C# code
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("<","<");
strValue = strValue.Replace(">",">");
MessageBox.Show(strValue);
Reader.Close();
再如(一般网页的接收):
WebRequest request = WebRequest.Create("http://www.baidu.com/s?wd=张学友");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
tb.Text = reader.ReadToEnd();
reader.Close();
reader.Dispose();
response.Close();
/
传送请求
Winform窗体中发送HTTP请求 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法相关推荐
- 怎样在Winform窗体中嵌入Web浏览器
背景 项目当中需要在Winform窗体中嵌入网页,虽然微软自带了WebBrowser控件,但是她是以IE模式运行的,兼容性实在太差,找了一圈发现有个叫CefSharp的家伙还不错,于是就拿来玩了一下. ...
- 【二次开发】将CATIA嵌入到Winform窗体中
由于项目需要,我们需要将CATIA嵌入到我们的软件之中,要求在软件启动后,同时调用并启动CATIA软件,并能够屏蔽掉软件自身的菜单和按钮.通过在网上查阅资料,实现了这一功能. 调用并启动CATIA p ...
- WinForm窗体中如何在一个窗体中取到另一个窗体的值
例如我们定义两窗体,Form1和Form2,如何在Form2中取到Form1中的一个值呢? 解决方法1: 在Form1 中定义一个成员变量,例如public string a = " &qu ...
- C#的委托事件在winform窗体中实现传值备忘
用一个例子来说明吧,这样比较好明白一些. 就是打开主窗体,datagridview加载了一些数据,然后我们在打开的子窗体中,输入一些条件,让主窗体中的数据随着加载的条件来动态实现加载数据. 这就需要涉 ...
- C#操作数据库,将其查查出来的记录条数显示在winform窗体中的方法之一
1 //1.数据库链接的基本操作(略) 2 //2.创建对象函数(关键部分) 3 sqlConn.Open(); 4 //初始化定义记录条数 5 int n = 0; 6 object obj = s ...
- C# :Winform窗体中文字滚动显示
想要做到文字滚动显示,首先需要把文字写入Lable控件中,将Label控件的位置改变就可以实现文字的位置变换. 1.在窗体中添加Timer和Lable控件 2.编写代码 //滚动 Lable priv ...
- C#Winform窗体中传值
在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值 并且还定义一个accept事件public string Form2Value { get { return t ...
- C# 中对WinForm窗体中的控件快速设置TableIndex次序
点击"视图"--"Tab键顺序",然后便可设置. 参考文章 1. ssilspro,在vs2008中做winform程序的时,调整控件TableIndex顺序的 ...
- C# :Winform窗体中Enter键登录
前言: 在登陆窗体时,按Enter回车键可以直接用户登录,更加方便便捷. 解决方案: 在窗体属性中找到AcceptButton,后面添加上按回车键就点击的按钮名称. AcceptButton: 窗体的 ...
最新文章
- 3.以太坊之秘钥文件
- Codeforces 1338E JYPnation (图论)
- wxWidgets:拖放概述
- 根据经纬度求最近点的三种解法java实现
- 获取spring里的bean
- 在bash中,如何检查字符串是否以某个值开头?
- Pytorch——Variable是什么?
- YOLO系列专题——Complex-YOLO
- [Erlang 0127] Term sharing in Erlang/OTP 上篇
- TP 打开 显示错误信息
- ARM给服务器厂商更多创新机会
- 台达plc用c语言编程软件,台达plc编程
- PSpice的安装及练习一
- CS229 Machine Learning 自学与答案
- 计算机视觉文献综述选题,机器视觉文献综述.doc
- 开关二极管的工作原理
- 0602 信用卡防盗刷学习总结
- stl文件用proe怎么打开_3dmax怎么导入stl文件?如何将proe的文件导入3dmax进行渲染?...
- 在Linux中部署集群(零基础速学!)
- 数据结构 期末复习主观题练习题(答案版)