我使用getpage ()
加载页面:
d = getPage(url)
d.addCallback(parsePage,url)
d.addErrback(downloadError,url)
现在您需要通过http代理下载。如何调用getpage ()
来使用http代理?
答案 0 :(得分:3)
请改用twisted.web.client.ProxyAgent
。 getPage
是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"]])