我在Xamarin应用程序中使用此httpClient:
var httpClient = new HttpClient(new NativeMessageHandler());
我的服务器需要NTLM身份验证。我相信我必须做这样的事情:
httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("NTLM",...);
但我不清楚我应该如何取代“......”。 AuthenticationHeaderValue的文档没有说什么。
这是正确的方法吗?我该怎么办?
答案 0 :(得分:1)
对于使用Xamarin项目中使用的.NET Standard 1.4
的{{1}}库中的Android / iOS / UWP :(我尚未使用System.Net.Http.httpClient
)
ModernHttpClient
// Note: The NTLM domain is important here, otherwise basic auth will be used:
var credentials = new NetworkCredential("username", "password", "domain");
var handler = new HttpClientHandler { Credentials = credentials, UseDefaultCredentials = false }
var client = new HttpClient(handler);
可以保持不变,因为上面的代码将在内部为每个请求生成授权标头。