我刚刚安装了python 27,我试图通过我的localhost服务器运行python页面。我收到此错误:
HTTP错误502.2 - 错误的网关 指定的CGI应用程序因未返回完整的HTTP标头集而行为不端。它确实返回的标题是""。
import MySQLdb
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="root", # your username
passwd="pass", # your password
db="my_dbs") # name of the data base
cur = db.cursor()
cur.execute("SELECT * FROM myTable")
# print all the first cell of all the rows
for row in cur.fetchall() :
print(row[0])
我使用的是Windows 7。
知道我做错了什么吗?这是IIS配置问题吗?我有一个python处理程序映射:
pythonHandler
Path: *.py
State: Enabled
Path Type: Unspecified
Handler: CGIModule
Entry Type: Local
答案 0 :(得分:0)
IIS正在寻找HTTP响应,但您正在回复原始数据列表。
以下代码输出纯文本网页。它打印找到的行数,以及每行数据的第一列的内容。
import MySQLdb
print 'Content-type: text/plain'
print
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="root", # your username
passwd="pass", # your password
db="my_dbs") # name of the data base
cur = db.cursor()
cur.execute("SELECT * FROM myTable")
rows = cur.fetchall()
print "found {} rows".format(len(rows))
# print all the first cell of all the rows
for row in rows:
print(row[0])
此最小标头将数据标记为HTTP响应,为纯文本,因此浏览器将正确显示数据。