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"> ...
随机推荐
- python的常用魔法方法详细总结
构造和初始化 __init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数". 实际上, 当我们调用x = SomeClass()的时候调用,__init_ ...
- 入门大数据---Hbase_Java_API
一.简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @depreca ...
- Shader专题:卡通着色(一)控制颜色的艺术
什么是 Shader? 关于什么是 Shader ,各种百科各种教程都有说过,但是今天我们就从一个另一个角度去试着理解什么是 Shader? 我们先看下 Shade 的英文意思,如下: v.给...遮 ...
- BigDecimal类型比较数字大小
BigDecimal类型比较数字大小1.转成intBigDecimal b1 = new BigDecimal("-121454125453.145");if(b1.intValu ...
- 使用TransferLearning实现环视图像的角点检测——Tensorflow+MobileNetv2_SSD
环境说明 依赖环境安装eIQ官方指南: name: eiq_auto channels: - conda-forge - defaults dependencies: - numpy=1.18.1=p ...
- JavaScript图形实例:再谈IFS生成图形
在“JavaScript图形实例:迭代函数系统生成图形”一文中,我们介绍了采用迭代函数系统(Iterated Function System,IFS)创建分形图案的一些实例.在该文中,仿射变换函数W的 ...
- bootstrap悬停下拉菜单显示
使用Bootstrap导航条组件时,如果你的导航条带有下拉菜单,那么这个带下拉菜单的导航在点击时只会浮出下拉菜单,它本身的href属性会失效,也就是失去了超链接功能,这并不是我想要的,我希望导航条的链 ...
- Xshell6 优化
Xshell6 优化
- C语言中的内存对齐问题
问题 突然收到了一个问题: #include<stdio.h> #include <math.h> struct icd { int a; //4 char b; //1 do ...
- JVM 专题十八:垃圾回收(二)垃圾回收相关算法
1. 标记阶段 1.1 引用计数算法 1.1.1 对象存活判断 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象.只有被标记为己 ...