我正在使用一个需要有效用户名/密码的web服务。在PyQt中,我使用QNetworkAccessManager访问webservice,它发出
authenticationRequired (QNetworkReply*, QAuthenticator*)
当(显然)需要身份验证时发出信号。当我填写的用户和psswd QAuthenticator,一切正常。但是,我看不出当用户有效时如何打破循环。在
从需要验证的文档中:
如果拒绝凭据,此信号将再次发出
对于无效凭证,此信号会反复发出,然后 再一次。。。查看回复中的错误代码显示0。该如何中断或处理此循环,以便它以错误终止?在
是啊,很奇怪。我之前所做的是检查我是否已经用这些细节进行了身份验证,然后我是否已经调用
QNetworkReply.abort()
调用}。这将使
QNetworkReply::abort()
将导致请求失败,错误为“Operation Aborted”,而不是原来的401错误。现在正确的做法似乎是不要在authenticationRequired()
槽内调用QAuthenticator::setUser()
或{QAuthenticatorPrivate::phase
保留为Done
,这将导致请求以正确的错误代码干净地终止。在Qt文档在这一点上相当不清楚。在
这似乎不是qt4.7中的行为,而是在qt4.8中引入的。在
试一下怎么样:
或者
^{pr2}$是吗?在
相关问题 更多 >
编程相关推荐