cgiで簡単なwebアプリを作ろうとしてますが、多くの参考サイトでは
html(1) -> cgi.py(2)で結果表示
の段階で終わっているのですが、(2)の処理の後、別のcgiプログラムにデータを受け渡したいのですがうまくいきません。
状況
ディレクトリ構造
src/index.html
src/cgi-bin/cgi1.py
src/cgi-bin/cgi2.py
ソース
index.html
html
1<html> 2<body> 3<form action="/cgi-bin/cgi1.py" method="POST"> 4 <p> 5 <input type="text" name="input" value="hoge" /> 6 </p> 7 <input type="submit" value="submit"> 8</form> 9</body> 10</html>
cgi1.py
python
1import sys 2import io 3sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 4import cgi 5import cgitb 6 7cgitb.enable() 8 9form = cgi.FieldStorage() 10# ### 入力データ 11inputval = form.getvalue('input', '') # <- hoge 12inputval2 = inputval + fuga # <- hogefuga 13 14htmlText = ''' 15<!DOCTYPE html> 16<html> 17 <head><meta charset="UTF-8" /></head> 18<body> 19 20 <p>inputval:%s</p> 21 22 <form action="/cgi-bin/cgi2.py" method="POST"> 23 <input type="submit" name="input2" value="%s"> 24 <input type="submit" value="submit"> 25 </form> 26</body> 27</html> 28''' % (inputval, inputval2) 29 30print(htmlText)
cgi2.py
python
1import sys 2import io 3sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 4import cgi 5import cgitb 6 7cgitb.enable() 8 9form = cgi.FieldStorage() 10# ### 入力データ 11inputval2 = form.getvalue('input2', '') # <- hogefuga 12 13print(inputval2)
エラー
plain
1http://localhost:8000/cgi-bin/cgi2.py 2 3hogefuga HTTP Error 404: Not Found
hogefugaは一応わたっているようでした。そのあとのHTTP Error 404がなぜ生じるのかがわかりません。。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。