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"> ...
随机推荐
- GRpc异常处理Filter
全局错误处理服务端 微软已经实施了Interceptors,它们类似于Filter或Middlewares在ASP.NET MVC的核心或的WebAPI,它们可以用于全局异常处理,日志记录,验证等. ...
- spring和springmvc包扫描问题
写这篇博客之前,橘子松必须感慨下!!找了我一下午加一晚上(md),问了几个朋友也没找到.凉了啊 在搭建ssm之前,我把controller service mapper包扫描用基本包扫描 都写在a ...
- cin cout 的优化(神优化)外号:神读入
在比赛里,经常出现数据集超大造成 cin TLE的情况.这时候大部分人(包括原来我也是)认为这是cin的效率不及scanf的错,甚至还上升到C语言和C++语言的执行效率层面的无聊争论.其实像上文所说, ...
- Git篇--将代码上传到git完整版
1.注册github账号. 2.创建个人的github仓库,如图, 或者也可以进入个人中心去创建, 还可以直接点击右上角的“”+“”添加, 3.创建自己的Repository,如图: 4.新建 ...
- 隐写术工具之binwalk
0x00Binwalk介绍 Binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具. 具体来说,它被设计用于识别嵌入固件镜像内的文件和代码. Binwalk使用libmagic库,因此 ...
- springBoot整合redis(作缓存)
springBoot整合Redis 1,配置Redis配置类 package org.redislearn.configuration; import java.lang.reflect.Method ...
- Pop!_OS安装与配置(四):GNOME插件篇
Pop!_OS安装与配置(四):GNOME插件篇 #0x0 效果图 #0x1 自动安装(不保证成功性) #0x2 OpenWeather #0x3 Topicons Plus #0x4 System- ...
- 解决vue项目中使用ivew定制主题报 .bezierEasingMixin();错误
背景:在使用view-design(iview)定制主体时(覆盖变量方式)出现less错误 完整错误如下 解决方法: 在vue.config.js中添加 less-loader:5.0.x modul ...
- JS 判断是否为数字 数字型特殊值
JS 数字型三个特殊值 Infinity ,代表无穷大,大于任何数值 -Infinity ,代表无穷小,小于任何数值 NaN ,Not a number,代表一个非数值 isNaN的使用: isNa ...
- tolua-ToLua#暖更新
"重写"C#函数的Lua函数要访问C#类对象的没有wrap进Lua环境的私有数据成员.私有方法的时候,目前只能使用静态反射. 关于全Lua开发.全C#开发的问题.全Lua开发可能或 ...