【发布时间】:2017-05-22 18:33:05
【问题描述】:
这个问题 (Python CGIHTTPServer Default Directories) 详细介绍了如何为 Python CGIHTTPServer 的 cgi-bin 文件的位置设置路径。从测试来看,您似乎不能在同一个文件夹中混合 .py 和 .html 文件:在 cgi-bin 中,它可以很好地处理 .py 文件,但要求提供我得到的静态 html 文件
127.0.0.1 - - [08/Jan/2017 10:51:22] "GET /dev.html HTTP/1.1" 200 -
Traceback (most recent call last):
File "/usr/lib/python2.7/CGIHTTPServer.py", line 248, in run_cgi
os.execve(scriptfile, args, env)
OSError: [Errno 8] Exec format error
127.0.0.1 - - [08/Jan/2017 10:51:22] CGI script exit status 0x7f00
这是真正的预期行为,还是我遗漏了什么?稀疏和不透明的文档说“但是,如果该类猜测它是 CGI 脚本,它将运行 CGI 脚本,而不是将其作为文件提供。仅使用基于目录的 CGI - 另一个常见的服务器配置是将特殊扩展视为表示 CGI 脚本。”
如何“将特殊扩展视为表示 CGI 脚本”。我使用什么方法或设置,或者我说什么神奇的词?或者这只是我无法做到的措辞不当的提示?
我只是将它用于快速测试,虽然我可以重组为单独的 .py 和 .html 文件,但我还有其他限制会使这成为一个痛苦的练习。
【问题讨论】:
-
您可以使用
import CGIHTTPServer ; print CGIHTTPServer.__file__查找源代码并查看其工作原理。但是请参阅您的链接-它们会覆盖方法is_cgi()-也许您也必须这样做。
标签: python cgihttpserver