将POST作为代理添加到SimpleHTTPServer

时间:2013-01-14 15:31:20

标签: python http post vbulletin simplehttpserver

已更新 我已经基于SimpleHTTPServer创建了简单的代理,但是当有人用POST方法请求它时显示错误我有do_POST()函数,但是当我请求POST时,我遇到POST方法的问题(适用于除vbulletin script !以外的大多数网站)我只是得到页面说:连接已重置

所以现在问题是当我尝试在vbulletin站点登录时,它说连接已重置 我不明白为什么!

class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
      print self.address_string()
      print "User ip:",self.client_address[0]
      print self.date_time_string()#return time
      print self.path
      print self.headers
      self.copyfile(urllib.urlopen(self.path), self.wfile)
      print "--------------------------------------------\n"
    #this is the function where is the problem 
    def do_POST(self):
      print "=====================\n"
      print self.raw_requestline
      print self.headers.getheaders("Content-Length")
      length = int(self.headers.getheaders("Content-Length")[0])
      post_data = urlparse.parse_qs(self.rfile.read(length))
      self.copyfile(urllib.urlopen(self.path,urllib.urlencode(post_data)),self.wfile)
      print "=====================\n"

希望我能得到它的暗示

0 个答案:

没有答案