gpt4 book ai didi

c# - 从 .NET 4.5 HttpClient 使用域凭据调用 REST 服务

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:12 26 4
gpt4 key购买 nike

我想从 .NET 4.5 调用需要域身份验证的 REST 服务。 (使用 Visual Studio 2012)

搜索 Google 会找到很多链接,人们说 HttpClient 现在是执行此操作的方法。

但是据我所知,没有办法模拟 HttpClient 或将凭据附加到 HttpClient。

此外,所有流行的 REST 库似乎还不兼容 .NET 4.5。

结束StackOverflow posts建议使用 WebClient 作为解决此问题的方法,尽管这在 .NET 4.5 中似乎不再可用。

如果我想从 .NET 4.5 客户端调用带有域凭据的 REST 服务,最好的方法是什么?

最佳答案

.NET 4.5 中的 HttpClient 确实支持域身份验证。您需要插入一个将“UseDefaultCredentials”设置为 true 的 HttpClientHandler:

        string searchResults = string.Empty;

try
{
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
HttpClient client = new HttpClient(handler);

client.MaxResponseContentBufferSize = 100000;
string responseString = await client.GetStringAsync(RestServiceUrl);

searchResults = responseString;
}
catch (HttpRequestException e)
{
searchResults = e.Message;
}

另外值得注意的是,如果您正在构建 Windows 8 应用程序,那么您需要在 Package.appManifest 中启用“企业身份验证”:

enter image description here

关于c# - 从 .NET 4.5 HttpClient 使用域凭据调用 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434779/

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