c# HttpClient和HttpWebRequest添加Basic类型的Authentication认证

c#项目中用到调用客户接口,basic身份认证,base64格式加密(用户名:密码)贴上代码以备后用

1、使用HttpClient实现basic身份认证

using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization=new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Username}:{Password}")));
                HttpContent httpContent = new StringContent("", Encoding.UTF8);
                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                Uri address = new Uri("接口地址");
                var response = client.PostAsync(address, httpContent).Result.Content.ReadAsStringAsync().Result;//返回值
            }

2、使用HttpWebRequest实现basic身份认证

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("接口地址");
            request.Method = "Post";
            request.CookieContainer = new CookieContainer();
            request.ContentType = "application/json;";

(1)设置请求Credentials
            CredentialCache credentialCache = new CredentialCache();
            credentialCache.Add(new Uri("接口地址"),"Basic", new NetworkCredential("bayer_rx", "bayerClientSecret"));
            request.Credentials = credentialCache;

(2)设置Headers Authorization
            request.Headers.Add("Authorization", "Basic "+Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Username}:{Password}")));
            using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    string content = reader.ReadToEnd();
                }
            }

原文地址:https://www.cnblogs.com/forydb/p/10000301.html

时间: 2024-11-11 02:04:14

c# HttpClient和HttpWebRequest添加Basic类型的Authentication认证的相关文章

【sequelizejs实战】sequelizejs -DataTypes 添加OBJECTID类型

sequelizejs -DataTypes 添加OBJECTID类型 概述 在数据库的主键的编码上,sequelizejs支持自增和uuid等方式,但这些主键的定义都各有优缺点,在使用过MongoDB之后,十分欣赏mongoDB的ObjectId生成的方式,以此作为主键对于分布式的应用更加友好,因此将sequelizejs 拓展,进行支持objectID. 引入BSON 在项目中引入BSON,建议在sequelizejs目录中进行安装. npm install BSON -save BSON

从零开始编写自己的C#框架(21)——添加分类类型页面

页面权限与页面控件权限经过简单的调试后,终于启用起来了,以后大家添加新页面时,就必须按照本章介绍的方法,将你新增的页面注册到系统中,这样才能访问与进行相关操作. 下面讲讲如何创建一个分类类型的页面. 分类类型,顾名思义指的是按照一定规律.特点进行归类划分,放到一块的集合.我们开发时这些分类类型,经常用下拉列表来表现,如果有多级分类时,采用的是下拉树列表方式显示. 普通下拉列表 下拉树列表 下面将介绍如何从创建数据表.修改文件到权限绑定逐个步骤进行说明. 首先,我们先要创建好数据表 我们打开数据字

如何在ASP.NET的web.config配置文件中添加MIME类型

常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加.如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置.这里考虑到一个网站配置通用性问题,所以我们可以将MIME类型添加到ASP.NET网站的配置文件中,这样用户就不用一直配置IIS了. 一般来说我们是将MIME的这部份信息配置在system.webServer节点的staticContent节点中,配置的时候只要设置mimeMap节点中的fileExten

zabbix之 添加媒介类型(5)

1.添加媒介类型 administration --> media types --> create media type 2.为zabbix的用户定义定义各种媒介通道的接收方式和关联系统账号上的收件人 administration --> user --> admin --> media

使用反射为泛型集合添加其他类型的数据时遇到的问题

泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合进会去掉“类型”信息,使程序运行效率不受影响. 由于编译生成的字节码会去掉泛型的类型信息,只要能跳过编译器,就可以往某个泛型集合虽加入其它类型的数据. 所以我们可以用反射为泛型集合添加其他类型的数据. 例1: ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList .add(10); a

如何在caffe中添加新类型的layer

如何在caffe中添加新类型的layer 参考:https://github.com/BVLC/caffe/issues/684 Add a class declaration for your layer to the appropriate one of common_layers.hpp,data_layers.hpp, loss_layers.hpp, neuron_layers.hpp, or vision_layers.hpp. Include an inline implement

WordPress主题制作教程10:添加文章类型插件Custom Post Type UI

下载 Custom Post Type UI>> 用Custom Post Type UI添加自定义文章类型对于新手来说最简单不过了,下载安装后,在插件栏启用一下,就可以开始添加文章类型了 添加后,可以看见左栏多了“产品”: 你还可以创建完类型后,在CPT UI菜单下的import/Export->Get Code的这段代码贴到functions.php中,这样不需要安装该插件也可以实现文章类型的定义.

HTTP Basic Authentication认证的各种语言 后台用的

访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HTTP Basic Authentication?直接看http://en.wikipedia.org/wiki/Basic_authentication_scheme吧. 在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回40

访问需要HTTP Basic Authentication认证的资源的各种开发语言的实现

什么是HTTP Basic Authentication?直接看http://en.wikipedia.org/wiki/Basic_authentication_scheme吧. 在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名和密码(google浏览器不会,bug?).你可以尝试点击这个url看看效果:http://api.minicloud.com.cn/s