使用代理的扭曲getpage

时间:2014-09-03 08:48:06

标签: python http networking proxy twisted

我使用getpage ()加载页面:

 d = getPage(url)
 d.addCallback(parsePage,url)
 d.addErrback(downloadError,url) 

现在您需要通过http代理下载。如何调用getpage ()来使用http代理?

1 个答案:

答案 0 :(得分:3)

请改用twisted.web.client.ProxyAgentgetPage是Twisted旧的,不太好的HTTP客户端API。 IAgent是新的,更好的HTTP客户端API。除了其他优点之外,它还具有比getPage更多的功能 - 包括对HTTP代理的支持。

以下是一个例子:

from __future__ import print_function

from os import environ

from twisted.internet.task import react
from twisted.internet.endpoints import HostnameEndpoint
from twisted.web.client import ProxyAgent

def main(reactor, proxy_hostname):
    endpoint = HostnameEndpoint(reactor, proxy_hostname, 80)
    agent = ProxyAgent(endpoint)
    return agent.request(b"GET", b"http://google.com/").addCallback(print)

react(main, [environ["HTTP_PROXY"]])
相关问题