gpt4 book ai didi

C# .. API httpclient 身份验证和使用用户名和密码的代理

转载 作者:行者123 更新时间:2023-11-30 20:29:18 25 4
gpt4 key购买 nike

我是 API 领域的新手,但我有一个问题,我想从 Web API 获取数据,但是有两次身份验证

  • 首先使用代理。
  • 其次是 API 基础身份验证。

这是我的获取操作代码:

        HttpClientHandler handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential("test", "testing");
HttpClient client = new HttpClient(handler);
client.BaseAddress = new Uri("http://test.abctesting.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.
MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = client.GetAsync("admin/apiv2/").Result;
var tenders = response.Content.ReadAsAsync<tenders>().Result;

此代码对我来说工作正常,但只是传递代理用户名和密码!如何使用身份验证用户名和密码继续获取 API 数据?

最佳答案

由于您在评论中提到了“基本身份验证”,因此除了您拥有的内容之外,添加以下几行可能会有所帮助

 var byteArray = Encoding.ASCII.GetBytes($"{yourUsername}:{yourPassword}");
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

虽然还有其他流行的认证方式,如OAuthBearer等。根据认证方式更改AuthenticationHeaderValue上的key并适当设置值

关于C# .. API httpclient 身份验证和使用用户名和密码的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46287135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com