c#发送简单的post、get请求
- POST发送请求及接受响应流程
- 根据目标地址址创建HttpWebRequest对象
- 设置响应的请求参数------Method、ContentType 等
- 使用HttpWebRequest对象获取请求流并且写入消息体
- 使用HttpWebRequest对象获取响应流并读取流中数据(在获取过程中就是发送请求并接受响应)
- GET发送请求及接受响应流程
- 把目标地址和查询字符串拼接在一起(如果有查询字符串)使用拼接的字符串创建HttpWebRequest对象
- 设置响应的请求参数------Method、ContentType 等
- 使用HttpWebRequest对象获取响应流并读取流中数据(在获取过程中就是发送请求并接受响应)
以下为代码:
两个请求方法 和读取方法
/// <summary>/// 发送http post请求/// </summary>/// <param name="url">地址</param>/// <param name="parameters">查询参数集合</param>/// <returns></returns>public HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters){HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;//创建请求对象request.Method = "POST";//请求方式request.ContentType = "application/x-www-form-urlencoded";//链接类型//构造查询字符串if (!(parameters == null || parameters.Count == 0)){StringBuilder buffer = new StringBuilder();bool first = true;foreach (string key in parameters.Keys){if (!first){buffer.AppendFormat("&{0}={1}", key, parameters[key]);}else{buffer.AppendFormat("{0}={1}", key, parameters[key]);first = false;}}byte[] data = Encoding.UTF8.GetBytes(buffer.ToString());//写入请求流using (Stream stream = request.GetRequestStream()){stream.Write(data, 0, data.Length);}}return request.GetResponse() as HttpWebResponse;}/// <summary>/// 发送http Get请求/// </summary>/// <param name="url"></param>/// <returns></returns>public static HttpWebResponse CreateGetHttpResponse(string url){HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;request.Method = "GET";request.ContentType = "application/x-www-form-urlencoded";//链接类型return request.GetResponse() as HttpWebResponse;}/// <summary>/// 从HttpWebResponse对象中提取响应的数据转换为字符串/// </summary>/// <param name="webresponse"></param>/// <returns></returns>public string GetResponseString(HttpWebResponse webresponse){using (Stream s = webresponse.GetResponseStream()){StreamReader reader = new StreamReader(s, Encoding.UTF8);return reader.ReadToEnd();}}
调用
//post请求并调用Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("id", "4");
textBox1.Text = GetResponseString(CreatePostHttpResponse("https://www.baidu.com/", dic));
//get请求并调用textBox3.Text = GetResponseString(CreateGetHttpResponse("https://i.cnblogs.com/EditPosts.aspx?opt=1"));
转载于:https://www.cnblogs.com/cyh1282656849/p/7486262.html
c#发送简单的post、get请求相关推荐
- 利用WebClient发送一个简单的HTTP GET请求并且取回响应
问题 如何发送一个简单的HTTP GET请求并且取回相应的HTTP响应. 设计 创建一个WebClient类的实例,然后使用它的DownloadData()方法. 方案 string uri = &q ...
- 如何在客户端发送ajax请求,ajax - 从服务器(nodejs)发送数据到客户端(ajax请求)
如何使用nodejs将数据从服务器发送到客户端? 所以基本上我通过点击一个按钮来调用这个函数 javascriptfunction createStuff(tid) { $.ajax({ type: ...
- 关于nodejs发送带参数的post请求调用人人网api
其实对js基本都没什么了解就要去用nodejs尝试实在有些勉强,做些简单的笔记以后看起来或许有些帮助. 用-express -e xxx(应用名)创建基于ejs模版的应用. 按提示cd xxx并 ...
- 使用Restlet Client发送各种Get和Post请求
使用Restlet Client发送各种Get和Post请求 原地址:https://blog.csdn.net/zlp1992/article/details/76706017 在开发web应用时, ...
- python headr方法_对Python发送带header的http请求方法详解
简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-A ...
- java发送简单邮件_Java程序实现发送简单文本邮件
/** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public ...
- Golang gin框架:发送GET POST PUT DELETE请求
package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {r := gin. ...
- JavaMail发送简单邮件
2019独角兽企业重金招聘Python工程师标准>>> package cn.jmail.test;import java.util.Properties;import javax. ...
- SAP云平台开启Kyma功能时发送到后台的HTTP请求
进入SAP云平台的subaccount,切换到Kyma environment面板下,点击Enable Kyma: 输入Kyma集群的名称和描述信息: 观察发送到后台的HTTP请求明细: {" ...
- Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
原文地址:http://android.xsoftlab.net/training/building-content-sharing.html 引言 Android应用程序有一项伟大的事情就是它们有可 ...
最新文章
- 2018-3-11 HDFS2.X
- 约会安排 (区间合并)毒瘤题
- 口碑好的mysql数据监控平台_构建狂拽炫酷屌的 MySQL 监控平台
- Android关闭Activity
- 几个多字节和UNICODE及UTF-8之间相互转化的函数
- WINDOW7下 配置APACHE+PHP 无法加载MYSQL 的问题
- 接口测试第二课(Fiddler实现APP抓包)
- sybase 连接mysql_安装sybase服务器并连接数据库
- ORM框架 Dapper
- 前端截取视频第一帧作为封面
- 8.声卡驱动06-自己实现alsa驱动-虚拟声卡-widget
- Vscode tab键使用
- (毕业设计资料)基于单片机51单片机智能药盒控制系统设计
- 沈阳东网科技和福建卓智网络面试心得
- 星巴克男子的豆瓣网创业故事
- 怎样修改图纸中单个图块的基点 ?
- APICloud入门
- IIC总线协议及应用
- GridView选中状态
- dojo引用html模板,深入浅出dojo/request-本地HTML文件 带参数方案-遮罩层《一》_169IT.COM...
热门文章
- Linq中Average,Sum等方法的使用解析
- 深度学习框架 TensorFlow.NET 0.1.0,完善变量更新操作
- 面向对象的分析与设计
- 编辑器eslint格式_VScode格式化代码,开启ESlint代码检测方法,eslint代码配置
- python第三周笔记_Python第四周 学习笔记(1)
- 多线程(thread)+进程(Process)
- 编写函数实现员工信息录入和输出_Excel---最牛的员工档案模板,非常智能化
- eigrp配置实验_EIGRP负载均衡的实现
- JS计算两个日期时间差,天 小时 分 秒格式
- python脚本运行命令_从Python脚本运行shell命令