如何使用 Qt 获取系统代理?
Posted
技术标签:
【中文标题】如何使用 Qt 获取系统代理?【英文标题】:How do I get the system proxy using Qt? 【发布时间】:2009-05-31 20:47:45 【问题描述】:我有以下代码,我试图从中提取系统代理设置:
QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery();
foreach ( QNetworkProxy loopItem, listOfProxies )
qDebug() << "proxyUsed:" << loopItem.hostName();
我只拿回了一件带有空白主机名的物品。有什么我想念的想法吗?
【问题讨论】:
loopItem.type() 显示什么?闻起来像“无代理”(类型 2),当 Qt 找不到代理时会发生这种情况(有关代理工厂的限制,请参阅他们的文档)。 如您所说,它显示类型 2。 【参考方案1】:通过放置:
QNetworkProxyQuery npq(QUrl("http://www.google.com"));
QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery(npq);
我好像把代理弄出来了。
【讨论】:
【参考方案2】:QNetworkProxyQuery npq(QUrl(QLatin1String("http://www.google.com")));
别忘了使用QLatin1String :)
【讨论】:
不是答案。没有解释为什么要使用 QLatin1String。为什么不是 QStringLiteral?等等。以上是关于如何使用 Qt 获取系统代理?的主要内容,如果未能解决你的问题,请参考以下文章