3

保護された Web ページにリクエストを送信しようとしているため、 の助けを借りて認証しようとしています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 に答える