2010-10-04

簡易WebServerをPythonでやる

ローカルでHTTPDが欲しい実験、テストって有りますよね。
でも、本格的なHTTPDは要らないと言う場合があります。
そんな時おすすめなのは、RubyかPythonを使ってHTTPDを動かすことです。

私は、Rubyの環境を普段は使っていないので、今回はPython(Ver2.5~)での話です。

簡単・便利なので良く使うんですが、1コネクション完結しないと次が繋げられないから、ガシガシ使うのには向かないけど、一人で使うのには良いと思います。

難しいことを考えずに、1行で十分動きます。
実行したディレクトリー以下が公開されます。
python -m SimpleHTTPServer
上記はポート指定していないので、8000番で受け付け開始します。
落としたければ、Ctrl+Cで落とせます。

でもこれでは、いろんなオプションを設定できないので、スクリプトを書きます。
リファレンスの通りに書けば良いのですが。
たぶん有りそうなのは、MIMEの指定だと思うので、参考にwebmのMIME指定しています。
(webmのテストの時に必要だから書いたのですが)
Handler.extensions_mapを必要な分書けば、MIME複数指定可能です。
import SimpleHTTPServer
import SocketServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
Handler.extensions_map['.webm'] = 'video/webm'

httpd = SocketServer.TCPServer(("",8000), Handler)

httpd.serve_forever()
あっさり立ち上がりますので、セキュリティーには十分お気をつけて。 RubyはWebrickでやるんですが、Webrickは出来ること多いので、たぶん付け焼き刃では説明するのが無理っぽいので、気が向いたらやってみます。

0 コメント:

コメントを投稿