Error : End of script output before headers while submiting html form in python-cgi
Error : End of script output before headers while submiting html form in python-cgi
我正在尝试创建一个表单并使用 python-cgi 将用户输入的数据获取到我的脚本中,但我收到此错误消息“在 [=28= 之前脚本输出结束]: processname.cgi". 我已经关注了各种博客和教程,但无法正常工作。
这是我的表单和 cgi 脚本。我在本地机器上使用 python3 和 xampp 服务器 (MAC OSX)
form.html
<DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Get name from User</title>
</head>
<body>
<form method="post" action="processname.cgi">
Please Enter Your name: <input type="text" name="username" placeholder="e.g. John" autofocus
required="required"/>
<br>
<input type="submit" name="submitname" value="Submit"/>
</form>
</body>
</html>
这是我的cgi-script:processname.cgi
#!/usr/local/bin/python3
import cgi
import cgitb
cgitb.enable()
def htmlTop():
print('''Content-type:text/html\n\n
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My Server Side template</title>
</head>
<body>''')
def htmlTail():
print('''</body>
</html>''')
def getData():
formData = cgi.FieldStorage()
firstname = formData.getvalue("username")
return firstname
if __name__ == '__main__':
try:
htmlTop()
firstname = getData()
print("Hello {0}".format(firstname))
htmlTail()
except:
cgi.print_exception()
我认为 out.You 必须使您的脚本可执行,然后重新启动服务器。
chmod 705 .../folders/scriptname.cgi
将使脚本可执行。
我正在尝试创建一个表单并使用 python-cgi 将用户输入的数据获取到我的脚本中,但我收到此错误消息“在 [=28= 之前脚本输出结束]: processname.cgi". 我已经关注了各种博客和教程,但无法正常工作。
这是我的表单和 cgi 脚本。我在本地机器上使用 python3 和 xampp 服务器 (MAC OSX)
form.html
<DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Get name from User</title>
</head>
<body>
<form method="post" action="processname.cgi">
Please Enter Your name: <input type="text" name="username" placeholder="e.g. John" autofocus
required="required"/>
<br>
<input type="submit" name="submitname" value="Submit"/>
</form>
</body>
</html>
这是我的cgi-script:processname.cgi
#!/usr/local/bin/python3
import cgi
import cgitb
cgitb.enable()
def htmlTop():
print('''Content-type:text/html\n\n
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My Server Side template</title>
</head>
<body>''')
def htmlTail():
print('''</body>
</html>''')
def getData():
formData = cgi.FieldStorage()
firstname = formData.getvalue("username")
return firstname
if __name__ == '__main__':
try:
htmlTop()
firstname = getData()
print("Hello {0}".format(firstname))
htmlTail()
except:
cgi.print_exception()
我认为 out.You 必须使您的脚本可执行,然后重新启动服务器。
chmod 705 .../folders/scriptname.cgi
将使脚本可执行。