完全成熟的本地CGI服务器

时间:2011-12-26 20:02:36

标签: python cgi localhost

我想设置一个本地CGI服务器,将任何*.py文件视为cgi脚本并执行它。但是使用CGIHTTPServer.CGIHTTPRequestHandler只会执行cgi_directories属性中包含的文件。

如何实现任何Python脚本作为cgi-script执行?

2 个答案:

答案 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设置为您需要的任何内容,您将能够在与以前任何名称都不匹配的目录中提供脚本。

或者,我会说你也可以在一个预期目录中的脚本链接上添加对该脚本的访问权。