SimpleHTTPServerを日本語URIに対応する方法
PythonのSimpleHTTPServerってめちゃ便利ですよね。
HTTPサーバーとしてアクセスしたいディレクトリのパス上で、
$ python -m SimpleHTTPServer
って実行するだけで、 http://localhost:8000 でアクセスできるようになるじゃないですかー。
でも、このSimpleHTTPServerですが、日本語のURIだとうまいこと表示できないんですよね。
たとえば、以下のディレクトリ構成でアクセスした場合なんですけど、
root |- index.html |- 日本語のでぃれくとり/ |- index.html
このrootディレクトリ上で、SimpleHTTPServerを実行して、
http://localhost:8000/日本語のディレクトリ
ってURLをブラウザに入力すると、 404エラーになります。
これを解消するために、SimpleHTTPServerのSimpleHTTPRequestHandlerクラスを継承して、拡張して、日本語でも見つかるようにしました。
SimpleHTTPRequestHandler.translate_pathメソッドをオーバーライドしただけっていうシンプルなもんです。
Python2.7でSimpleHTTPServerをすると日本語URIが表示されないので表示される ...
以上です。