我正在嘗試訪問和解析使用Python工作的網站。網站授權是通過siteminder完成的,所以通常的urllib/urllib2用戶密碼不起作用。 有沒有人有一個想法如何做到這一點? 謝謝 NoamM使用Python/urllib通過「siteminder」身份驗證訪問網站?
3
A
回答
1
1
同意馬丁 - 你只需要複製瀏覽器的功能。一旦成功通過身份驗證,Siteminder會向您傳遞一個令牌。我也必須這樣做,一旦找到一個好方法就會發布。
0
只是做了這個 - 我知道它是一個老人 - 但如果其他人想要這樣做 - 使用請求庫。我之前在C#中完成了這項工作,並使用了大量的代碼 - 但這隻需登錄我的公司siteminder系統即可 - 非常好。 request.session()對象將持久重定向,標題和cookie - 所有你需要擔心的是發佈登錄表單。我相信你的環境中的變量會有所不同,但這個過程是一樣的。
output.text將成爲你想要解析的目標頁面的主體,然後你可以使用xpath或其他方法。
import requests
r = requests.session()
postUrl = "https://loginUrl"
params = { 'USER': 'user',
'PASSWORD': 'pass',
'SMENC': 'ISO-8859-1',
'SMLOCALE': 'US-EN',
'target': '/redir.shtml?GOTO=redirecturl}',
'smauthreason': '0' }
r.post(postUrl, data=params)
getUrl = "http://urlFromBehindLogInYouWantDataFrom"
output = r.get(getUrl)
print(output.text)
相關問題
- 1. Siteminder身份驗證和Android
- 2. casperJS:如何使用Facebook身份驗證訪問網站?
- 3. 通過使用Powershell激活「用戶身份驗證」訪問Firebase
- 4. 網站身份驗證
- 5. 繞過網站身份驗證
- 6. Facebook SDK - 通過身份驗證訪問公共相冊,無需身份驗證
- 7. 允許訪問使用Windows身份驗證的MVC網站通過用戶名組通過用戶組
- 8. 在Windows上使用OpenSSL通過身份驗證訪問REST API
- 9. 在iOS上處理互聯網訪問網站身份驗證
- 10. 通過身份驗證保護網頁
- 11. 網站窗體身份驗證 - > SQL Server Windows身份驗證
- 12. 通過DoctrineMongoDBBundle使用身份驗證
- 13. 通過Ajax.Request使用身份驗證
- 14. Node.js網站的用戶身份驗證
- 15. 通過身份驗證Laravel
- 16. 通過Web應用程序訪問Sharepoint身份驗證
- 17. 使用Windows身份驗證訪問python中的SharePoint站點
- 18. Android WebView:通過身份驗證從網站保存圖像
- 19. OpenBSD,通過網站身份驗證連接到WPA WiFi
- 20. 在兩個網站之間通過Windows身份驗證
- 21. 如何通過(視窗credantial)身份驗證從站點A到站點B(使用Windows身份驗證發佈)
- 22. 如何爲.NET 4.0集成SiteMinder SSO身份驗證和Windows身份驗證?
- 23. 處理身份驗證從經過身份驗證的網站上獲取圖像通過urllib2
- 24. 網站間通信:如何通過網站A與網站B進行身份驗證的用戶進行身份驗證?
- 25. DOTNET運行 - 角 - Windows身份驗證 - 未通過身份驗證
- 26. Authlogic - 通過基本HTTP身份驗證進行身份驗證
- 27. 使用Windows身份驗證訪問網絡共享
- 28. 使用Windows身份驗證時,允許訪問IIS網站中的文件夾
- 29. Siteminder繞過特定IP地址的身份驗證
- 30. 如何通過Active Directory/Windows身份驗證使用Servicestack身份驗證?
你有沒有想過這樣做? – 2015-01-09 23:40:35