您好,匿名用户
随意问技术百科期待您的加入

怎么用python写一个反向代理

0 投票

用python写一个反向代理,给个简单的示例看看?
搜了好久没有搜到。。。
===========================================
最后还是搜到了。

import BaseHTTPServer
import hashlib
import os
import urllib2

class CacheHandler(BaseHTTPServer.BaseHTTPRequestHandler):
    def do_GET(self):
      m = hashlib.md5()
      m.update(self.path)
      cache_filename = m.hexdigest()
      if os.path.exists(cache_filename):
          print "Cache hit"
          data = open(cache_filename).readlines()
      else:
          print "Cache miss"
          data = urllib2.urlopen("http://targetserver" + self.path).readlines()
          open(cache_filename, 'wb').writelines(data)
      self.send_response(200)
      self.end_headers()
      self.wfile.writelines(data)

def run():
    server_address = ('', 8000)
    httpd = BaseHTTPServer.HTTPServer(server_address, CacheHandler)
    httpd.serve_forever()

if __name__ == '__main__':
    run()

=============================
应该是我描述的不清楚。这个基本上就是我想要的了。
http://sharebear.co.uk/blog/2009/09/1...

用户头像 提问 2014年 2月3日 @ Sivir 上等兵 (275 威望)
分享到:

1个回答

0 投票
用户头像 回复 2014年 2月3日 @ Graves 上等兵 (254 威望)
提一个问题:

相关问题

0 投票
1 回复 35 阅读
0 投票
1 回复 8 阅读
用户头像 提问 2014年 5月26日 @ Lady 上等兵 (162 威望)
0 投票
1 回复 24 阅读
用户头像 提问 2013年 12月13日 @ Nocturne 上等兵 (262 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2012年 12月1日 @ Blitzcrank 上等兵 (358 威望)
0 投票
1 回复 41 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...