Qt QNetworkAccessManager 中止身份验证
Posted
技术标签:
【中文标题】Qt QNetworkAccessManager 中止身份验证【英文标题】:Qt QNetworkAccessManager abort authentication 【发布时间】:2011-11-09 12:47:48 【问题描述】:在Qt中,对于QNetworkAccessManager
,我们知道authenticationRequired()
在服务器返回HTTP 401代码时被调用。
假设凭据是用户输入的,密码不正确。在这种情况下如何检测密码是否错误并取消请求?
另外,SDK 说
QNetworkAccessManager
将在内部缓存凭据,并在服务器再次要求身份验证时发送相同的值,而不发出authenticationRequired()
信号。
这意味着如果密码错误,那么进程将永远循环!!!
我错过了什么吗?
提前谢谢你
喂
【问题讨论】:
【参考方案1】:阅读整个段落,它特别说
如果它拒绝凭据,将再次发出此信号。
所以这不是问题。
【讨论】:
如果拒绝凭据,将再次发出此信号。然后 authenticationRequire 插槽将再次发送错误的密码(因为它不知道信号是第一次发送还是第二次发送)。它将永远循环以上是关于Qt QNetworkAccessManager 中止身份验证的主要内容,如果未能解决你的问题,请参考以下文章
QT 从 QWebView 的 QNetworkAccessManager 读取数据
使用 QNetworkAccessManager 的 Qt 控制台应用程序