在WinForm中发送HTTP请求的实现方法
作者:jingxian 时间:2023-01-28 10:47:35
如何在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("<","<");
strValue = strValue.Replace(">",">");
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("<","<");
strValue = strValue.Replace(">",">");
MessageBox.Show(strValue);
Reader.Close();
标签:winform,http,请求
0
投稿
猜你喜欢
java8新特性将List中按指定属性排序过滤重复数据的方法
2023-06-16 17:57:42
HttpClient 请求 URL字符集转码问题
2022-11-20 17:33:07
springcloud整合seata的实现代码
2022-04-26 23:49:49
java多次嵌套循环查询数据库导致代码中数据处理慢的解决
2023-10-28 22:17:50
Spring实战之方法级别缓存用法示例
2022-10-20 02:00:32
C# Winform中如何绘制动画示例详解
2022-03-28 13:26:26
JFinal使用ajaxfileupload实现图片上传及预览
2023-08-05 08:30:48
C语言 auto和register关键字
2021-11-03 02:40:54
Android之沉浸式状态栏的实现方法、状态栏透明
2022-01-02 17:49:21
C#实现单例模式的6种方法小结
2023-09-13 21:02:57
Spring Boot 搭建 ELK正确看日志的配置流程
2022-08-28 17:13:46
详解Android的两种事件处理机制
2023-10-05 23:37:20
C#多态的三种实现方式(小结)
2022-12-29 18:10:57
C# 读写XML(代码分享)
2022-11-05 15:28:10
Java编程用栈来求解汉诺塔问题的代码实例(非递归)
2023-01-13 21:41:25
C#过滤DataTable中空数据和重复数据的示例代码
2022-03-15 19:33:45
深入C# 内存管理以及优化的方法详解
2021-10-24 14:24:03
Java C++ 算法题解leetcode1608特殊数组特征值
2023-05-21 21:09:01
一文详解Java中Stream流的使用
2021-08-23 11:54:51
对指定的网页进行截图的效果 C#版
2022-07-04 03:14:18