【发布时间】:2026-02-19 08:50:02
【问题描述】:
您可以在任何地方找到的一般答案是使用 Signal authenticationRequired(QNetworkReply*, QAuthenticator*),然后将登录凭据填充到给定的 QAuthenticator 对象中。
但是,这在我的情况下不起作用,因为该信号永远不会发出。原因:服务器没有返回授权失败,而是将我重定向到登录页面。所以我的程序只会下载那个页面。
我发现了如何通过检查 QNetworkReply 的属性 QNetworkRequest::RedirectionTargetAttribute 来捕捉它。
所以我可以检测到重定向并向用户询问身份验证信息。
但是...我从那里去哪里?如何设置认证数据?我可以手动将 QAuthenticator 设置为我的 QNetworkRequest 或我的 QNetworkAccessManager 吗?我没有找到任何方法来做到这一点,只是通过上面提到的信号/槽机制,它不起作用,因为它不会触发。
任何帮助将不胜感激!
【问题讨论】:
标签: windows qt authentication https qnetworkaccessmanager