python页面上的502错误

时间:2014-07-21 19:21:44

标签: python iis-7

我刚刚安装了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

1 个答案:

答案 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响应,为纯文本,因此浏览器将正确显示数据。