在Python中创建代理Web服务器

代理服务器位于客户端和实际服务器之间。它接收来自客户端的请求,将其发送到实际服务器,并在收到来自实际服务器的响应后,将响应发送回客户端。使用代理的原因很多,例如隐藏服务器的IP地址,提高性能或提高安全性等。在本文中,我们将了解如何使用python创建简单的代理服务器。

可以使用三个模块SimpleWebSocketServer,SimpleHTTPSServer和urllib来实现此目的。下面我们看到如何使用此模块中可用的方法创建python类,并将该类的实例传递给SimpleWebSocketServer。然后,我们使用该类提供的永久服务器方法来启动并运行服务器。

示例

import SimpleWebSocketServer
import SimpleHTTPSServer
import urllib
PORT = 9012
class JustAProxy(SimpleHTTPSServer.SimpleWebSocketServer):
   def do_GET(self):
      url=self.path[1:]
      self.send_response(200)
      self.end_headers()
      self.copyfile(urllib.urlopen(url), self.wfile)
httpd = SimpleWebSocketServer.SimpleWebSocketServer('localhost',PORT,JustAProxy)
print ("Proxy Srever at" , str(PORT))
httpd.serveforever()
输出结果

运行上面的代码给我们以下结果-

Proxy Srever at 9012