【问题标题】:How do I pass Basic Auth to a RESTful service in c#?如何将基本身份验证传递给 c# 中的 RESTful 服务?
【发布时间】:2017-05-02 22:22:06
【问题描述】:

如何调用 RESTful 服务并传入基本身份验证。这是用户名和密码以及基本授权。

 using (var httpClient = new HttpClient())
            {
                //var request = new StringContent(messageBody);
                //request.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                httpClient.BaseAddress = new Uri(serviceUrl);
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var credentials = Encoding.ASCII.GetBytes("myadmin:mypassword");
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(credentials));

                //var response = await httpClient.PostAsJsonAsync(serviceUrl, customer);
                HttpResponseMessage response = await httpClient.PostAsJsonAsync("url here", customer);
            }

【问题讨论】:

  • 你现在寄什么?什么是服务器响应?
  • 目前只是传递对象,但我还需要为用户名和密码设置基本身份验证,我不知道该怎么做
  • @Ksib 可能....但不能重复!
  • 对我来说似乎是重复的。解释它的不同之处。您想通过基本身份验证向服务发布帖子。似乎一样。我还用谷歌搜索了你的确切标题,并得到了你想做的结果。 this 是另一个结果

标签: c# asp.net-web-api


【解决方案1】:

您必须用冒号连接用户名和密码,将值编码为 base64,然后使用“基本”方案将此值添加到授权标头。

【讨论】:

  • 请举个例子
  • 发布你现在拥有的东西(如何访问用户名和密码,如何创建客户端对象等)
  • 我会说这很好。你有标题,从它的外观来看,你已经以正确的方式构建了它。您收到的错误是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多