如何使用Xamarin ModernHttpClient或System.Net.Http.httpClient进行NTL

本文关键字:Http httpClient 进行 NTL Net System 何使用 Xamarin ModernHttpClient | 更新日期: 2023-09-27 18:14:18

我在Xamarin应用程序中使用这个httpClient:

var httpClient = new HttpClient(new NativeMessageHandler());

我的服务器需要NTLM认证。我认为我必须这样做:

httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("NTLM",...);

但是我不清楚,我应该如何替换"…"。AuthenticationHeaderValue的文档没有说明任何内容。

这是正确的方式吗?我要做什么?

如何使用Xamarin ModernHttpClient或System.Net.Http.httpClient进行NTL

Android/iOS/UWP在.NET Standard 1.4库中使用Xamarin项目中的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);

client.DefaultRequestHeaders.Authorization可以单独保留,因为上述代码将在内部为每个请求生成授权头。