0

我想获取http://www.youtube.com/的网页源代码 ,但是youtube在我的国家被屏蔽了,所以我决定通过代理服务器访问它-主机名:127.0.0.1端口:8087

根据我认为使用的文档

void QNetworkAccessManager::setProxyFactory ( QNetworkProxyFactory * factory )

对我来说是个不错的选择,但我根本不知道如何将此功能与我的代理服务器相关联,我搜索了很多,但发现很难找到如何使用此功能的示例,任何人都可以告诉我如何在这里根据我的需要使用它?

只告诉我如何使用这个功能就足够了,我知道如何获取网页源代码

4

2 回答 2

4

You need to create a subclass of QNetworkProxyFactory and reimplement queryProxy virtual method.

QList<QNetworkProxy> MyNetworkProxyFactory::queryProxy (const QNetworkProxyQuery & query) {
  QNetworkProxy proxy;
  if (query.url().host() == "www.youtube.com") {
    // modify 'proxy' variable according to your proxy
  }
  return QList<QNetworkProxy>() << proxy;
}
于 2013-06-21T13:31:31.190 回答
0

然后子类化QNetworkProxyFactory并覆盖QNetworkProxyFactory::queryProxyQNetworkProxy为指向 Youtube 的请求 URL返回localhost 代理,否则返回默认代理。

于 2013-06-21T12:56:11.450 回答