C# WebClient几种常用方法的用法
1、UploadData方法(Content-Type:application/x-www-form-urlencoded)
//创建WebClient 对象
WebClient webClient = new WebClient();
//地址
string path = "http://******";
//需要上传的数据
string postString = "username=***&password=***&grant_type=***";
//以form表单的形式上传
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 转化成二进制数组
byte[] postData = Encoding.UTF8.GetBytes(postString);
// 上传数据
byte[] responseData = webClient.UploadData(path, "POST", postData);
//获取返回的二进制数据
string result = Encoding.UTF8.GetString(responseData);
2、UploadData方法(Content-Type:application/json)
//创建WebClient 对象
WebClient webClient = new WebClient();
//地址
string path = "http://******";
//需要上传的数据
string jsonStr = "{\"pageNo\":1,\"pageSize\":3,\"keyWord\":\"\"}";
//如果调用的方法需要身份验证则必须加如下请求标头
string token = "eyJhbGciOiJSUzI..................";
webClient.Headers.Add(HttpRequestHeader.Authorization, $"Bearer {token}");
//或者webClient.Headers.Add("Authorization", $"Bearer {token}");
//以json的形式上传
webClient.Headers.Add("Content-Type", "application/json");
// 转化成二进制数组
byte[] postData = Encoding.UTF8.GetBytes(jsonStr);
// 上传数据
byte[] responseData = webClient.UploadData(path, "POST", postData);
//获取返回的二进制数据
string result = Encoding.UTF8.GetString(responseData);
3、DownloadData方法
WebClient webClient = new WebClient();
string path = "http://******";
//如果调用的方法需要身份验证则必须加如下请求标头
string token = "eyJhbGciOiJSUzI1NiIs.........";
webClient.Headers.Add(HttpRequestHeader.Authorization, $"Bearer {token}");
// 下载数据
byte[] responseData = webClient.DownloadData(path);
string result = Encoding.UTF8.GetString(responseData);
4、DownloadString方法
//创建WebClient 对象
WebClient webClient = new WebClient();
//地址
string path = "http://******";
//如果调用的方法需要身份验证则必须加如下请求标头
string token = "eyJhbGciOiJSUzI1NiIsI.................";
//设置请求头--名称/值对
webClient.Headers.Add(HttpRequestHeader.Authorization, $"Bearer {token}");
//设置请求查询条件--名称/值对
webClient.QueryString.Add("type_S", "我的类型");
// 下载数据
string responseData = webClient.DownloadString(path);
C# WebClient几种常用方法的用法的更多相关文章
- 在Quartus II中分配管脚的两种常用方法
在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...
- NSString的几种常用方法
NSString的几种常用方法 要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...
- SharedPreferences 的另一种场景的用法
SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...
- [转]jQuery的each方法的几种常用的用法
下面提一下jQuery的each方法的几种常用的用法 复制代码 代码如下: var arr = [ "one", "two", "three&quo ...
- Java中从控制台输入数据的几种常用方法
Java中从控制台输入数据的几种常用方法 一.使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in ...
- jQuery验证元素是否为空的两种常用方法
这篇文章主要介绍了jQuery验证元素是否为空的两种常用方法,实例分析了两种常用的判断为空技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuery验证元素是否为空的两种常用方法.分享给 ...
- 避免常见的6种HTML5错误用法
一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样 ...
- Java更新XML的四种常用方法简介
本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for X ...
- vue——props的两种常用方法
vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...
随机推荐
- 重学ASP.NET Core 中的标记帮助程序
标记帮助程序是什么 标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素. 例如,内置的 ImageTagHelper 可以将版本号追加到图片名称. 每当图片发生变化时 ...
- python+opencv实现图像缩放
x, y = img_.shape[0:2] img_ = cv2.resize(img_, (int(y/2), int(x/2))) 实现图像长宽缩小为原来的一半
- 2020阿里巴巴官方最新Redis开发规范!
本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题. 一.键值设计 1.key名设计 ...
- CSS技术让高度自适应减少很多不必要的检测
高度自适应第一种情况 1.高度不去设置,或者高度设置auto 内容撑开父元素的高度.2.内容撑开父元素的高度 -> 最小高度的设置 min-height3.浮动元素添加高度自适应 -> 添 ...
- OAuth 2.0 授权方式讲解,规范实践和应用
基于实践说规范 网上看了一些OAuth 2.0的授权方法,尽管讲解的没有什么逻辑性错误,但是存在一个问题,那就是单纯的讲解协议规范却脱离了实际的应用,缺少干货,所以才有了这篇文章,内容基于实际业务进行 ...
- HDU 5969 最大的位或 (思维,贪心)
HDU 5969 最大的位或 题目大意 B君和G君聊天的时候想到了如下的问题. 给定自然数\(l\)和\(r\) ,选取\(2\)个整数\(x,y\)满足\(l <= x <= y < ...
- day22 作业
1 统计文件夹大小 def get_filesize(file_path): count = 0 res=None files_sum = os.listdir(file_path) for file ...
- mysql两种重要的引擎
其中MyISAM:不支持事物,表锁 .frm : 表结构定义文件 .MYD: 表数据 .MYI:索引文件 InnoDB:支持事物,行锁 .frm : 表结构定义文件 .ibd:表空间(数据和索引)
- java 面向对象(三十四):泛型三 自定义泛型类、泛型接口、泛型方法
1.举例: [Order.java] public class Order<T> { String orderName; int orderId; //类的内部结构就可以使用类的泛型 T ...
- celery 基础教程(五):守护进程
一 守护进程方式启动 https://blog.csdn.net/p571912102/article/details/82735052 文件目录如下 . ├── config.py ├── main ...