使 python 脚本在 IIS 8 上运行
Make a python script work on IIS 8
我将其添加到我网站的 IIS 处理程序模块中
Request Path: *.py
Executable: "C:\Program Files\Python 3.5\python.exe"
Name: Python
我为 IIS 用户授予了此路径 C:\Program Files\Python 3.5\
的权限
然后我制作了这个 test.py 文件来测试我的配置
print("Content-Type: text/html")
print("")
print("""\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
""")
但是当我尝试通过 http://localhost/test.py
加载它时,我遇到了这个 Bad Gateway 错误
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:""
知道我遗漏了什么吗?
如Microsoft's manual所示(在link中有更详细的描述):
- 确保包含 Python 脚本的网站已设置应用程序
- 验证是否设置了 .py 文件的应用程序映射
- 确认在计算机的访问控制列表 (ACL) 中正确设置了文件和目录权限。
和测试响应(python 2,转换应该很容易):
print
print 'Status: 200 OK'
print 'Content-type: text/html'
print
print '<HTML><HEAD><TITLE>Python Sample CGI</TITLE></HEAD>'
print '<BODY>'
print '<H1>This is a header</H1>'
print '<p>' #this is a comment
print 'See this is just like most other HTML'
print '<br>'
print '</BODY>'
似乎为您添加了 Content-Length
header,您应该添加 Status
header。
我将其添加到我网站的 IIS 处理程序模块中
Request Path: *.py
Executable: "C:\Program Files\Python 3.5\python.exe"
Name: Python
我为 IIS 用户授予了此路径 C:\Program Files\Python 3.5\
的权限然后我制作了这个 test.py 文件来测试我的配置
print("Content-Type: text/html")
print("")
print("""\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
""")
但是当我尝试通过 http://localhost/test.py
加载它时,我遇到了这个 Bad Gateway 错误The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:""
知道我遗漏了什么吗?
如Microsoft's manual所示(在link中有更详细的描述):
- 确保包含 Python 脚本的网站已设置应用程序
- 验证是否设置了 .py 文件的应用程序映射
- 确认在计算机的访问控制列表 (ACL) 中正确设置了文件和目录权限。
和测试响应(python 2,转换应该很容易):
print
print 'Status: 200 OK'
print 'Content-type: text/html'
print
print '<HTML><HEAD><TITLE>Python Sample CGI</TITLE></HEAD>'
print '<BODY>'
print '<H1>This is a header</H1>'
print '<p>' #this is a comment
print 'See this is just like most other HTML'
print '<br>'
print '</BODY>'
似乎为您添加了 Content-Length
header,您应该添加 Status
header。