pythonのBaseHTTPServerモジュールはpost要求を受信する
1170 ワード
#!/usr/bin/python #encoding=utf-8 ''' BaseHTTPServer http server , get,post ,get ,post 。 ''' from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer import io,shutil import urllib import os, sys class MyRequestHandler(BaseHTTPRequestHandler): def do_GET(self): mpath,margs=urllib.splitquery(self.path) # ? self.do_action(mpath, margs) def do_POST(self): mpath,margs=urllib.splitquery(self.path) datas = self.rfile.read(int(self.headers['content-length'])) self.do_action(mpath, datas) def do_action(self, path, args): self.outputtxt(path + args ) def outputtxt(self, content): # enc = "UTF-8" content = content.encode(enc) f = io.BytesIO() f.write(content) f.seek(0) self.send_response(200) self.send_header("Content-type", "text/html; charset=%s" % enc) self.send_header("Content-Length", str(len(content))) self.end_headers() shutil.copyfileobj(f,self.wfile)