“一个非常简单的代理示例,可以连接到该代理,然后它将自己尝试连接到传递给它的地址。” 这实际上是HTTP代理的定义。
这里有一个 非常 简单的代理示例:http ://effbot.org/librarybook/simplehttpserver.htm
它的核心只有3行:
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.copyfile(urllib.urlopen(self.path), self.wfile)
因此SimpleHTTPRequestHandler
,是响应GET请求而打开路径中的URL(对代理的请求通常看起来像“ GEThttp://example.com/ ”,而不是“ GET /index.html”)。然后,它仅将可以从该URL读取的内容复制到响应中。
注意,这 确实 很小。我相信,它根本不处理标题。
顺便说一句:path
在http://docs.python.org/library/basehttpserver.html上有记录。它是在do*
调用您的方法之前设置的。