一時間Python勉強

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にも対応してみた。