gpt4 book ai didi

python - 重定向时收到错误格式错误的 header

转载 作者:行者123 更新时间:2023-11-30 01:34:01 27 4
gpt4 key购买 nike

前几天我在堆栈溢出中看到如何使用函数重定向..但它在这里不起作用

#!/Python27/python
import cgi
import cgitb ; cgitb.enable()
import MySQLdb
from datetime import datetime
f= cgi.FieldStorage()
l=f["roll"].value
def redirect(url):
print "Content-Type: text/plain"
print "Refresh: 0; url='%s'" % url
print
print "Redirecting..."

Con = MySQLdb.Connect(host="127.0.0.1", port=3306, user="root", passwd="jesus", db="student")
cursor = Con.cursor()
sql="SELECT YEAR FROM STDDET WHERE id='%s'"%(l)
cursor.execute(sql)
data=cursor.fetchone()
cyear=datetime.now().year
cmonth=datetime.now().month
data=data[0]
data=int(data)
year=cyear-data
print year
if(year==3):
redirect("intro.html")
elif(year==4):
redirect("yea4.html")

即使满足 if 条件,它也不会被重定向...我收到错误格式错误的 header ...请帮助!!

最佳答案

据我所知,您的脚本会产生以下响应:

Content-Type: text/plain Refresh: 0; url='x.y.com'

Redirecting...

这不是有效的 http 响应,因为 status line丢失了。

如果您生成“有效”页面,则应回复状态

HTTP/1.1 302 Found

如果您要重定向,更好的主意是使用 3xx 代码之一进行回复。举个例子:

HTTP/1.1 302 Found
Location: http://www.google.fr/

HTTP/1.1 ... 行必须是 header 的第一行。因此它应该由程序的第一个 print 生成。请参阅Python CGI returning an http status code, such as 403?举个例子。

关于python - 重定向时收到错误格式错误的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17135204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com