我的应用程序需要显示使用NTLM身份验证的网页。我以前编写过NTLM身份验证方法,但仅用于向/从站点传递数据,而不是在QWebView中显示站点。同样,我过去编写了应用程序(使用基本身份验证或无身份验证),使用QWebView显示网页没有问题。
我很难将这两种方法放在一起,以显示一个使用NTLM身份验证的网页。
这是我的方法:
Web_Viewer = QtWebKit.QWebView()
Web_Viewer.setGeometry(0, 0, 1920, 1080)
URL = "http://www.somewebsitewithNTLMauth.com/pages/Home.aspx"
User = "domain\username"
Password = "Password"
Password_Manager = urllib.request.HTTPPasswordMgrWithDefaultRealm()
Password_Manager.add_password(None, URL, User, Password)
Authentication_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(Password_Manager)
Opener = urllib.request.build_opener(Authentication_NTLM)
#This is where I get stuck
#Normally I'd load the URL and then show it, as such:
Web_Viewer.load(QtCore.QUrl(URL))
Web_Viewer.show()
我知道Web_Viewer.load()并没有使用NTLM身份验证,但我不确定如何使用身份验证来显示页面。