zoukankan      html  css  js  c++  java
  • 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("用户名", "密码"));
                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();
                    }
                }

  • 相关阅读:
    【sqli-labs】 less61 GET -Challenge -Double Query -5 queries allowed -Variation4 (GET型 挑战 双查询 只允许5次查询 变化4)
    Spring overview
    Code First use dotConnect for MySQL
    讓 MySQL 能夠用 EF6
    Sublime Text 3 常用插件以及安装方法(转)
    EntityFramework 6.0< Code First > 连接 Mysql数据库(转)
    bootstrap 2.3版与3.0版的使用区别
    用google-code-prettify高亮代码
    MVC中的@Html.DisplayFor等方法如何控制日期的显示格式(转)
    给Jquery easyui 的datagrid 每行增加操作链接(转)
  • 原文地址:https://www.cnblogs.com/forydb/p/10000301.html
Copyright © 2011-2022 走看看