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几种常用方法的用法的更多相关文章

  1. 在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 /* * ...

  2. NSString的几种常用方法

    NSString的几种常用方法   要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...

  3. SharedPreferences 的另一种场景的用法

    SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...

  4. [转]jQuery的each方法的几种常用的用法

    下面提一下jQuery的each方法的几种常用的用法 复制代码 代码如下:  var arr = [ "one", "two", "three&quo ...

  5. Java中从控制台输入数据的几种常用方法

    Java中从控制台输入数据的几种常用方法 一.使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in ...

  6. jQuery验证元素是否为空的两种常用方法

    这篇文章主要介绍了jQuery验证元素是否为空的两种常用方法,实例分析了两种常用的判断为空技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuery验证元素是否为空的两种常用方法.分享给 ...

  7. 避免常见的6种HTML5错误用法

    一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样 ...

  8. Java更新XML的四种常用方法简介

    本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for X ...

  9. vue——props的两种常用方法

    vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...

随机推荐

  1. SpringMVC中Map、Model、ModelMap、ModelAndView之间的关系及区别

    首先,在了解这三者之前,需要知道一点:SpringMVC在调用方法前会创建一个隐含的数据模型(Model),作为模型数据的存储容器, 成为”隐含模型”. 如果controller方法的参数为Moedl ...

  2. vue多个项目公共化组件方案

    前言 最近项目需求,需要把两个vue项目多个一样的模块抽成公共化.考虑采用的方案 1.把公共部分独立出来一个项目,npm发布私有包,使用的项目npm install下载(目前下载使用出现配置错误) 存 ...

  3. express高效入门教程(3)

    3.路由 路由到底是什么呢?不管官方定义到底是什么,咱通俗的说就是根据不同的url,执行不同的代码,类似于编程语言中的分支结构 3.1.express规划路由 稍微复杂点的应用,通常都是分模块进行的, ...

  4. int c, int ndigit[10]; ++ndigit[c-'0'];

    for example c-'0' is an integer expression with a value between 0and 9 corresponding to the characte ...

  5. 手写SpringMVC框架(三)-------具体方法的实现

    续接前文 手写SpringMVC框架(二)结构开发设计 本节我们来开始具体方法的代码实现. doLoadConfig()方法的开发 思路:我们需要将contextConfigLocation路径读取过 ...

  6. python三器一闭

    前言:python三器一闭i 包含 迭代器.生成器.装饰器,闭包 迭代器 概念:迭代器是一种可以记录可迭代对象遍历的位置,迭代器从第一个元素开始访问,直到访问所有元素访问结束,迭代器只会往前,不会后退 ...

  7. JavaScript学习 Ⅲ

    六. 面向对象 对象属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性. 对象分类 内建对象 由ES标准种定义的对象.比如:Math String Number 宿主对象 由JS的运行环 ...

  8. MYSQL 之 JDBC(十六): DBUtils

    DBUtils是Apache组织提供的一个开源的JDBC工具类库,能极大简化jdbc编码的工作量 API介绍 QueryRunner ResultSetHandler 工具类DbUtils 用DBUt ...

  9. 移除hmtl5 input type=“number”的step验证

    设置 step="any"例如:<input type="number" step="any" value=""& ...

  10. SpringBoot代码生成器

    Code-Generate 代码生成器 简介 一个基于原生Mysql & SpringBoot & Mybatis 的代码生成器,建表之后即可完全解放双手,适合: 规律性定制化开发 解 ...