gpt4 book ai didi

c# - AuthenticationHeaderValue 与 NetworkCredential

转载 作者:行者123 更新时间:2023-11-30 12:45:15 28 4
gpt4 key购买 nike

我正在尝试使用 HttpClient 为 HTTP Post 或 HTTP Get 编写客户端。在谷歌搜索时,我遇到了在 HttpClient 对象中设置这些身份验证的这些方法。一个使用 NetworkCredential 而另一个使用 AuthenticationHeaderValue

HttpClient sClient;
HttpClientHandler sHandler = new HttpClientHandler();
sHandler.Credentials = new NetworkCredential("UserName", "Password");
sClient = new HttpClient(sHandler);

HttpClient sClient new HttpClient();
sClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic",Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("UserName:Password")));

在 MSDN 上阅读并没有给我关于它们之间差异的明确答案。在这种情况下,除了身份验证信息的存储方式外,两者都会做同样的事情吗?例如 AuthenticationHeaderValue 将它放在 header 中而另一个则不?就我的用例或最佳实践而言,一个比另一个更好吗?

最佳答案

第二种方法更加灵活,您可以指定要使用的身份验证类型(例如,匿名、基本、窗口、证书等)。

如果您的第一种方法不起作用,请尝试在 NetworkCredential 上指定第三个参数,即域名。

关于c# - AuthenticationHeaderValue 与 NetworkCredential,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25365710/

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