gpt4 book ai didi

qt - 如何在 Qt 中设置应用程序范围的代理设置?

转载 作者:行者123 更新时间:2023-12-04 12:44:25 25 4
gpt4 key购买 nike

我之前曾发布过关于我为让 Google map 在 WebView 中显示所做的努力。我发现我需要安装 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 不能呢?

最佳答案

显然 QML WebView 不使用 Qt 代理设置。我不知道这是预期的行为还是只是坏了。尝试设置 http_proxy this discussion 中建议的环境变量.

关于qt - 如何在 Qt 中设置应用程序范围的代理设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17821358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com