C# 实现HTTP不同方法的请求示例
1、不带参数的POST请求
public static string Post(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
2、带参数的POST请求
public static string Post(string url,Dictionary<string,string> dic) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region 添加Post 参数 StringBuilder builder = new StringBuilder(); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
3、不带参数的GET请求
public static string Get(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //获取内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
4、带参数的GET请求
public static string Get(string url, Dictionary<string, string> dic) { string result = ""; StringBuilder builder = new StringBuilder(); builder.Append(url); if (dic.Count > 0) { builder.Append("?"); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } } HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString()); //添加参数 HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //获取内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
5、自定义HTTP请求头
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; req.Headers["Accept-Language"] = "zh-CN,zh;q=0.8"; req.Referer = "https://www.baidu.com/"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); string result = ""; //注意,此处使用的编码是:gb2312 //using (StreamReader reader = new StreamReader(stream, Encoding.Default)) using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"))) { result = reader.ReadToEnd(); }
C# 实现HTTP不同方法的请求示例相关推荐
- 通过RobotFramework简单的接口请求示例
为什么80%的码农都做不了架构师?>>> 一个简单的接口请求示例,接口测试将在此基础上进行! 库文件的导入: 需要导入的库 Collections 和 RequestsLibr ...
- jQuery Ajax: $.post请求示例
jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...
- HttpClient4.x之Post请求示例
Post操作相对于Get操作变化并不是很大,我们只是需要将原来的HttpGet改成HttpPost.不了解获取提交操作的可以参看我的另一篇博客HttpClient4.x之获取请求示例 .但是如果需要 ...
- HttpClient4.x之Get请求示例
在使用的HttpClient的之前先了解一下它是什么,为了尽可能的展示其最为原味的介绍,我们就去他的官网看看.http://hc.apache.org/httpcomponents-client-ga ...
- koa ajax,nodejs之koa2请求示例(GET,POST)
nodejs之koa2请求示例(GET,POST) 发布时间:2020-10-12 14:04:56 来源:脚本之家 阅读:99 作者:骑乌龟赛跑 GET 请求 在 koa 中,GET请求获取请求数据 ...
- 梦网云通讯获取状态报告API接口get_rpt说明POST请求示例
Post请求示例 urlencode userid=J10003&pwd=26dad7f364507df18f3841cc9c4ff94d×tamp=0803192020&a ...
- golang使用http client发起get和post请求示例
golang使用http client发起get和post请求示例 golang要请求远程网页,可以使用net/http包中的client提供的方法实现.查看了官方网站有一些示例,没有太全面的例子,于 ...
- PHP请求示例API接口,商品详情数据的获取
PHP(PHP: Hypertext Preprocessor)即"超文本预处理器",是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中.PHP语法学习了C语言,吸 ...
- API请求示例汇总,亲测有效,taobaotmall,1688,pinduoduo等平台数据,信息化产业
请求示例 Curl PHP PHPsdk JAVA C# Python -- 请求示例 url 默认请求参数已经URL编码处理 curl -i "https://api-gw.oneboun ...
最新文章
- JavaScript 技术篇-js获取iframe内的元素方法实例演示
- delphi中exit,abort,break,continue,halt,runerro 的区别
- SLAM到底解决的是什么问题?
- boost::regex模块基于 ftp 的 regex_match 示例
- jqgrid 启用键盘操作bindKeys
- 计算机及网络的概念,网络的概念是什么意思,以及计算机网络概念的引入
- 理解Lucene/Solr的缓存
- React 相关资料
- vue echarts动态数据定时刷新
- 生活中的数学(为生活建模)
- 江苏图采上传自定义证件照
- 软考中级网络工程师备考详细资料
- 使用阿里云配置加速器,下载Docker镜像
- vue引入,两种组件库vant,vue-ydui变量冲突问题
- 华为:围绕价值创造展开人力资源管理
- Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)
- PBOOTCMS后台模板管理修改插件
- 《2021年度中国计算机视觉人才调研报告》正式发布
- xpath解析最全攻略
- 非金融机构不良资产市场的规模
热门文章
- 增量值编码器、单圈绝对值编码器、多圈绝对值编码器
- python数据结构《排序专题复习》
- 学习笔记(39):Python实战编程-标签
- Pytorch的C++接口实践
- 计算机复制粘贴教案,信息技术《文本的复制与移动》教案
- python 定时自动爬取_python实现scrapy爬虫每天定时抓取数据的示例代码
- httpf发送 json_Java用HttpClient3发送http/https协议get/post请求,发送map,json,xml,txt数据...
- python字符串内建函数_python字符串内建函数
- 折半查找法(二分查找法)
- 2019.03.29 NOIP训练 友好国度(点分治+容斥)