Pythonで簡易CGIサーバーを建てる(IP指定)
みんなのPython Webアプリ編を元に簡易CGIサーバーを建てていたが
自分の環境は仮想マシン上でやっていたためlocalhostでは確認できない。
そのため、IPを指定する必要があった。以下にその方法を載せる。
簡易CGIサーバー
ファイル名はなんでも良いが他のモジュールと競合しないようにする。
私は「bl_pyserver.py」とした。
import BaseHTTPServer,CGIHTTPServer import sys def run(server_class=BaseHTTPServer.HTTPServer, handler_class=CGIHTTPServer.CGIHTTPRequestHandler,port=80): server_address = ('設定したいIPアドレス', int(port)) httpd = server_class(server_address, handler_class) httpd.serve_forever() if __name__ == '__main__': run(port=sys.argv[1])
実行する際は、スペースの後にポート番号を入力。
$ python bl_pyserver.py 5000
「htbin」フォルダ内でないとPythonファイルが動かない。
$ mkdir htbin
ファイル名は「hoge.py」で「htbin」内に保存。
#!/usr/bin/env python import time time.sleep(2) print '' print 'EVIL SCRIPT'
パーミッションも変更しておく。
$ chmod 755 htbin/hoge.py
気付き
どうやらソースファイルに
#!/usr/bin/env python
が必要らしい。環境によっては違うかもしれない。
あと、「cgi-bin」ばかりに気がいって「htbin」に気が付かなかった…。
それと、htmlがなんか出来てない?動いていない?忘れた。
もう諦めてFlask使ってやってるからいいもん。