前提・実現したいこと
ラズパイ上でCGIサーバーを動かしたいと考えています。そこで、下記サイトにあるプログラムを参考にしてラズパイ上で動かしてみましたが、エラーとなり画面上に何も表示されません。何が原因かご教示いただけますとありがたいです。ちなみに、Windows上では問題なく動作しています。
参考サイト:
https://techacademy.jp/magazine/21488
「PythonでCGIスクリプトを書く方法【初心者向け】」
発生している問題・エラーメッセージ
コード ``` エラーメッセージ
pi@raspberrypi:~/cgitest2 $ python -m http.server 8000 --cgi
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
127.0.0.1 - - [07/Jun/2021 00:49:15] "GET / HTTP/1.1" 304 -
127.0.0.1 - - [07/Jun/2021 00:49:21] "POST /cgi-bin/sample.py HTTP/1.1" 200 -
Exception happened during processing of request from ('127.0.0.1', 49688)
Traceback (most recent call last):
File "/usr/lib/python3.7/http/server.py", line 1170, in run_cgi
os.execve(scriptfile, args, env)
PermissionError: [Errno 13] Permission denied: '/home/pi/cgitest2/cgi-bin/sample.py'
### 該当のソースコード ```ここに言語名を入力 #cgitest/index.html <html> <body> <form action="/cgi-bin/sample.py" method="POST"> <input type="text" name="foo"> <input type="text" name="bar"> <input type="submit"> </form> </body> </html> cgi-bin/sample.py
#cgitest/cgi-bin/sample.py #!/usr/bin python3 # -*- coding: utf-8 -*- import cgi import cgitb cgitb.enable() print("Content-Type: text/html") print() form = cgi.FieldStorage() for key in form: value = form[key].value print('<p>%s: %s</p>' % (key, value))
試したこと
sample.pyのパーミッション変更(755)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/07 04:44