加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – PyQt:如何将QWebPage与一个匿名代理一起使用

发布时间:2020-12-16 22:19:12 所属栏目:Python 来源:网络整理
导读:这真让我抓狂. 我想在QWebPage中显示一个url,但我想通过一个无限的代理来传递它. 码 #setting up the proxyproxy = QNetworkProxy()proxy.setHostName("189.75.98.199") #just examplesproxy.setPort(1111)proxy.setType = QNetworkProxy.HttpProxy#setting

这真让我抓狂.

我想在QWebPage中显示一个url,但我想通过一个无限的代理来传递它.

#setting up the proxy

proxy = QNetworkProxy()
proxy.setHostName("189.75.98.199") #just examples
proxy.setPort(1111)
proxy.setType = QNetworkProxy.HttpProxy

#setting the manager

manager = QNetworkAccessManager()
manager.setProxy(proxy) #setting the proxy on the manager

#setting the proxy as application proxy

QNetworkProxy.setApplicationProxy(proxy) #seems to do nothing..

#web page

webpage = QWebPage()
webpage.setNetworkAccessManager(manager) #maybe.. but it doesn't work

webpage.mainFrame().load(QUrl("http://www.foo.bar") )

我调用一个测试页面告诉我标题(在php服务器上,所以我看看$_SERVER),而remote_addr总是我的ip,而不是代理ip.

怎么了?

你能帮助我吗?我正在使用PyQt 4.8.3.

最佳答案
让它工作

以这种方式,它使用setApplicationProxy工作.我仍然不明白为什么在实例创建后设置代理参数不起作用(如在初始示例中)

def set_proxy(self,proxy):

    proxy_url = QUrl(proxy)

    if unicode(proxy_url.scheme()).startswith('http'):
        protocol = QNetworkProxy.HttpProxy
    else:
        protocol = QNetworkProxy.Socks5Proxy
    QNetworkProxy.setApplicationProxy(
        QNetworkProxy(
            protocol,proxy_url.host(),proxy_url.port(),proxy_url.userName(),proxy_url.password()))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读