之前我曾发帖讨论如何在WebView中显示Google Maps。后来发现需要安装OpenSSL以启用HTTPS协议来使用某些Google API。
不过现在我遇到了新问题,我在另一台机器上尝试配置Qt以使用系统代理,其中我们有一个无需身份验证的系统代理和一个需要身份验证的系统代理。默认的代理是需要身份验证的那个。
我已经编写了以下代码以指定代理:
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QNetworkProxy>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName("url.of.proxy.not.requiring.authentication");
proxy.setPort(8080);
QNetworkProxy::setApplicationProxy(proxy);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/Maps/main.qml"));
viewer.showExpanded();
return app.exec();
}
当我运行这个应用程序时,我在WebView中看到一个网页,其内容显示出现错误407,因为代理需要进行身份验证,并且此页面中指定的代理地址是默认地址,而不是我明确告诉Qt要使用的地址。
如何让Qt使用我想要的实际代理?这台机器上的其他应用程序都可以使用它,为什么Qt不能呢?