![](/img/trans.png)
[英]What is Python replacement for PHP's error_get_last() function?
[英]Python CGI replacement for PHP's header function?
所以我找到了这个线程:
但我仍然找不到答案,我不明白第一个答案,因为我不使用Django,而我想使用纯python(我正在使用CGI)
第二个答案也没有给出详细信息,我尝试使用start_response()
但是我无法将其重定向到我的网址,也许我给了它错误的参数
我也发现了另一个话题:
但同样,答案仍然不如php标头,因为它会加载整个页面,然后重定向它,用户可以注意到,标头功能不是这样,并且更快,更干净
我也尝试过webbrowser.open()
和webbrowser.get().open()
但问题是,即使我使用new = 0选项,他们也会打开一个新标签页而不是直接在其中加载! (更不用说导致它无法打开IE和chrome的一些奇怪问题了,我们必须提供完整的修复路径)
因此,如果最好的选择是start_response()
,那么有人可以解释我该写什么吗?
这相当于这个php标头:
header("location: ./index.php?msg=Invalid Username or Password");
CGI脚本的输出应由两部分组成,并用空白行分隔。 第一部分包含许多标头,告诉客户端要遵循的数据类型。 生成最小标头部分的Python代码如下所示:
print "Location: ./index.php?msg=Invalid+Username+or+Password"
print # blank line, end of headers
要触发重定向,仅设置位置标头是不够的,还必须返回正确的状态码,如下所示:
print("Status: 302")
print("Location: ./index.php?msg=Invalid Username or Password")
print()
在PHP中,您不必显式设置状态,因为如果您指定Location:
标头,则标头函数会为您完成状态设置。
最后打印是必需的,因为标题应与响应正文(在您的情况下为空)用空白行分隔。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.