Python PyQt:如何使用QWebPage和匿名代理
这让我快发疯了 我想在QWebPage中显示一个url,但我想通过一个匿名代理来实现 代码 我调用一个测试页面,它告诉我标题(在php服务器上,所以我看$服务器),远程地址总是我的ip,而不是代理ip 怎么了 你能帮我吗?我正在使用PyQt 4.8.3。让它工作起来了 通过使用setApplicationProxy,它可以这样工作。我仍然不明白为什么在创建实例后设置代理参数不起作用(如初始示例中所示)Python PyQt:如何使用QWebPage和匿名代理,python,qt,proxy,qnetworkaccessmanager,qwebpage,Python,Qt,Proxy,Qnetworkaccessmanager,Qwebpage,这让我快发疯了 我想在QWebPage中显示一个url,但我想通过一个匿名代理来实现 代码 我调用一个测试页面,它告诉我标题(在php服务器上,所以我看$服务器),远程地址总是我的ip,而不是代理ip 怎么了 你能帮我吗?我正在使用PyQt 4.8.3。让它工作起来了 通过使用setApplicationProxy,它可以这样工作。我仍然不明白为什么在创建实例后设置代理参数不起作用(如初始示例中所示) 以及如何取消代理设置或仅保留请求处理程序(有代理支持和没有代理支持)?需要使用QNetwork
以及如何取消代理设置或仅保留请求处理程序(有代理支持和没有代理支持)?需要使用QNetworkProxy.NoProxy类型来代替HttpProxy或Socks5Proxy
#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") )
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()))