【发布时间】:2012-03-05 00:49:29
【问题描述】:
我在向网络服务器验证 HttpWebRequest 时遇到困难。我收到的响应只是一个 401。我已确保我在 C# 端正确设置了凭据,并且 IIS 已正确设置为允许 NTLM 身份验证。我不知道这是否重要,但他的计算机与 Web 服务器不在同一个域中。
我确定用户/密码是正确的,但是否需要在用户上配置任何其他授权设置?
如果我启用基本身份验证并禁用 Windows 身份验证,则请求会完美运行(当然需要更改正确的 C# 代码)。
我错过了什么?
webRequest.UseDefaultCredentials = false;
webRequest.PreAuthenticate = true;
var c = new NetworkCredential("User", "password", "domain");
CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(new Uri(Url), "NTLM", c);
webRequest.Credentials = credentialCache;
这是我在 IIS 中设置的快照。
失败的请求跟踪:
【问题讨论】:
标签: c# httpwebrequest authorization ntlm http-status-code-401