Pythonのドキュメントって微妙に分かりにくい。調べりゃ分かるんだろうけど。で、プチHTTPサーバを作ってみた。
import BaseHTTPServer class MyHTTPServlet(BaseHTTPServer.HTTPServer): def __init__(self, addr, handler): print MyHTTPServlet.__bases__ BaseHTTPServer.HTTPServer.__init__(self, addr, handler) class MyHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): if self.path == '/favicon.ico': self.send_error(404) else: self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write("<html> Hello , httpd.py!!! %s</html>" % self.address_string() ) def do_POST(self): print self.command def serveForever(addr, Handler = MyHTTPRequestHandler, Server = MyHTTPServlet): Handler.protocol_version = 'HTTP/1.0' httpd = Server(addr, Handler) httpd.serve_forever() if __name__ == '__main__': serveForever(('127.0.0.1', 8000))
ちなみにこれ、WinでやるとC-cがきかない。当然なのか?
単純にHTMLを返すだけだと30分たたなかったので、faviconにも対応してみた。