使用 QNetworkAccessManager 时如何处理代理

Posted

技术标签:

【中文标题】使用 QNetworkAccessManager 时如何处理代理【英文标题】:How to handle proxies when using QNetworkAccessManager 【发布时间】:2009-12-09 08:35:25 【问题描述】:

我在使用 QNetworkAccessManager 类时遇到了一些麻烦。

我用它从像“http://www.foo.com/bar/foobar.txt”这样的网址下载一个简单的文件。

当我开始下载时,我使用:

m_pNetworkReply = m_pNetworkAccessManager->get(QNetworkRequest(m_CurrentFileToDownload));

然后我连接几个slot来接收,比如下载文件过程中的错误。

我的问题是,如果计算机正在使用代理,我如何才能知道它?我见过类 QNetworkProxy 但如何初始化它?

有没有办法匹配默认浏览器的设置?我必须让用户自己配置代理吗?

我希望我的问题很清楚......

提前感谢您的帮助和建议!

【问题讨论】:

【参考方案1】:

看看这些函数:

http://doc.qt.io/qt-5/qnetworkproxyfactory.html#systemProxyForQuery http://doc.qt.io/qt-5/qnetworkaccessmanager.html#setProxyFactory

【讨论】:

以上是关于使用 QNetworkAccessManager 时如何处理代理的主要内容,如果未能解决你的问题,请参考以下文章

离线使用 QNetworkAccessManager

跨 dll 使用 QNetworkAccessManager

使用 QNetWorkAccessManager 将值传递给插槽

如何使用 Qt/QNetworkAccessManager (C++) 实现 SFTP

如何使用 QNetworkAccessManager 找出数据传输延迟

使用 QNetworkAccessManager 时如何处理代理