我想设置一个本地CGI服务器,将任何*.py
文件视为cgi脚本并执行它。但是使用CGIHTTPServer.CGIHTTPRequestHandler
只会执行cgi_directories
属性中包含的文件。
答案 0 :(得分:1)
尝试更换CGIHTTPServer.CGIHTTPRequestHandler.is_cgi
功能,风险自负:
import CGIHTTPServer
def is_cgi(self):
if self.path.endswith('.py'):
self.cgi_info = CGIHTTPServer._url_collapse_path_split(self.path)
return True
return False
CGIHTTPServer.CGIHTTPRequestHandler.is_cgi = is_cgi
答案 1 :(得分:0)
看documentation我认为你可能正在寻找这个:
<强> cgi_directories 强>
默认为['/ cgi-bin','/ htbin']并描述要视为包含CGI脚本的目录。
因此,将cgi_directories
设置为您需要的任何内容,您将能够在与以前任何名称都不匹配的目录中提供脚本。
或者,我会说你也可以在一个预期目录中的脚本链接上添加对该脚本的访问权。