3

我正在尝试向受保护的网页发出请求,因此我尝试在QAuthenticator(). 但是,我收到以下错误:

mgr.authenticationRequired(response, auth)
TypeError: native Qt signal is not callable

这是我的脚本的一部分:

def authenticate(self):
    username = 'user'
    password = 'pass'
    url = 'http://someurl.com'

    mgr = QNetworkAccessManager(self)

    auth = QAuthenticator()
    auth.setUser(username)
    auth.setPassword(password)

    response = QNetworkRequest()
    response.setUrl(QUrl(url))     

    mgr.authenticationRequired(mgr.get(response), auth)

我在这里做错了什么?

4

2 回答 2

5

如错误消息所示,您不能调用 PyQt 信号。相反,您必须使用以下emit()方法:

mgr.authenticationRequired.emit(mgr.get(response), auth)
于 2012-05-16T14:36:09.520 回答
0

为什么要发出信号?我对该协议的理解是,当网络上的服务器需要身份验证时,QNAM 将发出该信号。您的程序应该连接到该信号,而不是发出它。“连接到此信号的插槽应填充身份验证器对象中内容的凭据(可以通过检查回复对象来确定)。” 我可能错了你正在尝试什么。

于 2012-06-03T12:54:25.047 回答