python 记录

看到一个python入门脚本 记录一下
from BaseHTTPServer import *  
import base64, os  
  
decorator = lambda x: x.rstrip("\n") + " (" + base64.b64encode(x.rstrip("\n")) + ")\n"  
  
class Handler(BaseHTTPRequestHandler):  
    def process(self):  
        path = self.path.split('?')[0].split('#')[0][1:]  
        try:  
            cmd = base64.decodestring(path)  
            if cmd == "":  
                return "Command List: \n\n" + "".join(map(decorator, file("CommandList").readlines()))  
        except:  
            return "Try to access /[Base64 String]"  
        if cmd+"\n" in file("CommandList").readlines():  
            return os.popen(cmd, "r").read()  
        else:  
            return cmd + " is not permitted"  
    def do_GET(self):  
        self.send_response(200)  
        buf = self.process()  
        self.send_header("Content-Type", "text/plain; charset=utf8")  
        self.send_header("Content-Length", str(len(buf)))  
        self.end_headers()  
        self.wfile.write(buf)  
  
httpd = HTTPServer(("", 10000), Handler)  
print "Server starting ..."  
try:  
    httpd.serve_forever()  
except KeyboardInterrupt: exit() 


地址: http://xiaoxia.org/2011/08/16/a-small-python-program-serverinformation/

你可能感兴趣的:(python 记录)