1 回答

TA貢獻1865條經(jīng)驗 獲得超7個贊
您可以嘗試查看瀏覽器中的開發(fā)人員工具并檢查 HTTP 請求嗎?POST 是執(zhí)行多部分表單還是簡單的基于 url 的參數(shù)編碼?
我通常會嘗試使用瀏覽器的 REST 插件調(diào)試 cgis,并使用啟用 cgi 的 python 內(nèi)置 http.server:
python3 -m http.server --cgi 8000
我用基于 url 的參數(shù)做了一些簡單的測試,一切都按預期工作。一些額外的信息將有助于縮小問題的范圍。
編輯:使用您提供的 HTML 對我有用:
#!/usr/bin/python3
import cgitb
import cgi
import os
cgitb.enable()
form = cgi.FieldStorage()
page= form.getvalue("D1")
base_url=os.environ["HTTP_REFERER"]
full_url=os.path.join(base_url,page)
print("Content-Type: text/html") # HTML is following
print() # blank line, end of headers
print("<meta http-equiv='refresh' content='0;{page}.html'>".format(page=full_url))
#print(os.environ)
print("<TITLE>CGI script output</TITLE>")
print("<H1>This is my first CGI script</H1>")
print("This message should never been shown, just a redirect")
您確實看到了 cgi 生成的頁面的閃光,也許嘗試放置延遲和指示您正在被重定向的文本。
添加回答
舉報