シェルでpython -m SimpleHTTPServer 8000
またはpython -m CGIHTTPServer 8000
を実行すると、現在のディレクトリのコンテンツをインターネットにホストしています。
192.xxx.x.xx:8000/cgi_script.py
を参照するときに、コマンドラインで上記のコマンドを使用して、次のcgi_script.pyを正しく機能させたい
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""
ただし、このスクリプトは「Hello World!」だけでなく、文字どおりに表示されます。部。ところで、cgi_script.pyとそれをホストしているフォルダーのファイル権限を755に変更しました。
python -m CGIHTTPServer 8000
でお試しください。
実行可能にするには、スクリプトをcgi-bin
またはhtbin
ディレクトリに移動する必要があることに注意してください。
SOはコメントを許可していないので、これをロドリゴのコメントに加えて、別の回答として追加します。
別のパラメータcgi_directories
を使用できます。デフォルトは['/cgi-bin', '/htbin']
です。詳細 ここ
Python3では、コマンドラインは単純です
python3 -m http.server --cgi 8000
この仕事は私にとって、python -m CGIHTTPServer 8000
cgi-binと同じメニューレベルをコマンドし、cgi_script.pyをcgi-binフォルダーに移動します。ブラウザーで次のように入力します http:// localhost:8000/cgi-bin/cgi_script.py
@ Bentley4-それでも実行できない場合は、CGIをインポートしてみてください。
#!C:\ Python34\python.exe -インポートcgi印刷( "Content-type:text/html")
HTH
この問題に遭遇したとき、python -m CGIHTTPServer 8000
コマンドを実行したときにどのディレクトリにいるかによって、結果が異なることがわかりました。 cgi-binディレクトリでコマンドを実行しようとすると、ブラウザーは引き続き生のスクリプトコードを返します。 1レベル上のcdを実行してpython -m CGIHTTPServer 8000
コマンドを再度実行すると、スクリプトが実行され始めました。