我想登录到一个Sharepoint门户网站,该门户网站会显示一个登录对话框但正在使用NTLM身份验证。我如何修改C#中的HTTP头以成功登录请求?我假设我需要在门户网站登录部分的页面中创建一个HTTPWebRequest,并将HTTP头部集合一起发布。发送包含HTTP Web请求的HTTP头以进行NTLM身份验证
6
A
回答
18
您可以使用WebRequest类来完成此操作。
WebRequest req = WebRequest.Create(tokenUri);
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream());
var token = reader.ReadToEnd().Trim();
该代码读取整个响应到名为token
变量。
2
要使用NTLM请参阅John's的答案。如果您需要在会话中使用标题,请查看HttpWebRequest对象上的CookieContainer属性。您需要保留对CookieContainer的引用并将其附加到您制作的任何其他HttpWebRequests。
相关问题
- 1. 使用Apache HttpComponents进行具有NTLM身份验证的http请求
- 2. 如何使用HttpWebRequest对匿名NTLM进行身份验证HTTP请求
- 3. HTTP上的NTLM身份验证
- 4. 发送HTTP请求(验证请求)
- 5. PHP:发送http post请求但“身份验证失败”
- 6. 如何在Python中发送身份验证和HTTP请求?
- 7. HTTP身份验证和SOAP请求
- 8. NodeJS API HTTP POST请求身份验证
- 9. IIS http请求身份验证问题
- 10. 如何使用NTLM参数(通过HTTP)进行身份验证?
- 11. Django做自己的NTLM身份验证(HTTP头和所有)
- 12. 对HTTP请求进行身份验证和签名
- 13. Twitch使用Java http请求进行身份验证
- 14. Android中通过HTTP请求进行身份验证
- 15. Web API - HTTP标头中的身份验证凭证与SSL身份验证?
- 16. Authlogic - 通过基本HTTP身份验证进行身份验证
- 17. c# - 使用https和基本身份验证的http web请求
- 18. 使用GetHttpConnection进行NTLM身份验证
- 19. 向Google发送身份验证请求
- 20. HTTP请求是未经授权的客户端身份验证方案“NTLM”
- 21. 进行身份验证请求
- 22. 使用Apache HTTP组件进行HTTP身份验证:强制发送挑战
- 23. 验证服务器发送HTTP请求
- 24. 的ASPX页面请求双,NTLM身份验证请求失败
- 25. 如何在Android中发送HTTP基本身份验证标头?
- 26. 从Rails控制器发送POST请求进行身份验证
- 27. 使用基本身份验证发起http请求
- 28. 在标头中发送cookie以进行身份验证
- 29. 如何使用Python请求执行NTLM SSPI身份验证?
- 30. HTTP请求未经客户端身份验证方案'Ntlm'授权。从服务器收到的身份验证头是'Negotiate,NTLM'
当我尝试这个时,我得到'远程服务器返回一个错误:(401)未经授权。在Firefox上使用相同的URL /用户/密码。基于HTTP的NTLM – 2013-04-04 08:10:21