1 回答

TA贡献1865条经验 获得超7个赞
您可以尝试查看浏览器中的开发人员工具并检查 HTTP 请求吗?POST 是执行多部分表单还是简单的基于 url 的参数编码?
我通常会尝试使用浏览器的 REST 插件调试 cgis,并使用启用 cgi 的 python 内置 http.server:
python3 -m http.server --cgi 8000
我用基于 url 的参数做了一些简单的测试,一切都按预期工作。一些额外的信息将有助于缩小问题的范围。
编辑:使用您提供的 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 生成的页面的闪光,也许尝试放置延迟和指示您正在被重定向的文本。
添加回答
举报