Python 使用代理的Twisted getpage

Python 使用代理的Twisted getpage,python,http,networking,proxy,twisted,Python,Http,Networking,Proxy,Twisted,我使用getpage()加载页面: d = getPage(url) d.addCallback(parsePage,url) d.addErrback(downloadError,url) 现在您需要通过http代理下载。如何调用getpage()来使用http代理?改用getPage是Twisted的旧的、不太好的HTTP客户端API。是新的、更好的HTTP客户端API。除了其他优点外,它还有比getPage更多的特性,包括对HTTP代理的支持 下面是一个例子: from __fu

我使用
getpage()
加载页面:

 d = getPage(url)
 d.addCallback(parsePage,url)
 d.addErrback(downloadError,url) 
现在您需要通过http代理下载。如何调用
getpage()
来使用http代理?

改用
getPage
是Twisted的旧的、不太好的HTTP客户端API。是新的、更好的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"]])

你能为这个答案提供更多的细节吗?