Reputation: 75
I'm trying to make a request to a protected webpage, so therefore I'm trying to authenticate with help from QAuthenticator()
. However, I get the following error:
mgr.authenticationRequired(response, auth)
TypeError: native Qt signal is not callable
This is a part of my script:
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)
What am I doing wrong here?
Upvotes: 3
Views: 9801
Reputation: 2016
Why do you want to emit the signal? My understanding of the protocol is that the QNAM will emit that signal when a server across the network wants authentication. Your program should connect to that signal, not emit it. "The slot connected to this signal should fill the credentials for the contents (which can be determined by inspecting the reply object) in the authenticator object." I could be wrong about what you are attempting.
Upvotes: 0
Reputation: 67137
As the error message indicates, you cannot call PyQt signals. Instead, you have to use the emit()
method:
mgr.authenticationRequired.emit(mgr.get(response), auth)
Upvotes: 5