我想登錄到一個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