OSX:QNetworkProxyFactory :: systemProxyForQuery()在从系统偏好设置更改代理详细信息时未返回最新值

时间:2013-09-23 14:23:49

标签: c++ macos qt proxy

我使用以下代码段来获取URL的代理详细信息。第一次通过提供在系统偏好设置中配置的HTTPS代理详细信息 - >网络 - >代理 - >安全Web代理(HTTPS)。

如果我更改了HTTPS代理的IP值或凭据,则QT无法返回最新的详细信息。即使我禁用了HTTPS代理,然后启动了应用程序,但QT仍在提供旧的HTTPS代理详细信息。

只有在重新启动机器后,QT才会反映这些变化。这是一个已知的限制或任何解决方法吗?

QT版本:4.8.5

Mac OSx:10.6和10.7

QNetworkProxyQuery npq(QUrl("https://www.google.co.in/"));

            foreach (QNetworkProxy proxy, QNetworkProxyFactory::systemProxyForQuery(npq)) {
                Log.info("HTTP", L"Proxy found for Auth: [%hs] Proxy Server: [%hs] Port: [%d] type:[%d]",
                      httpInfo[kUrl].toString().toStdString().c_str(),
                      proxy.hostName().toStdString().c_str(),
                      proxy.port(),
                      proxy.type());

            }

1 个答案:

答案 0 :(得分:0)

看起来这不是QT的相关内容。发现甚至浏览器也没有拿起最新值。找到一个替代方案,如果我们设置代理设置命令行两次,所有应用程序都会获取最新值。

networksetup -setsecurewebproxy以太网10.204.22.89 3128关于user1测试