【问题标题】:Full fledged local CGI Server成熟的本地 CGI 服务器
【发布时间】:2011-12-26 20:02:36
【问题描述】:

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

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

【问题讨论】:

    标签: python cgi localhost


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      看着documentation,我想你可能正在寻找这个:

      cgi_directories

      这默认为 ['/cgi-bin', '/htbin'] 并描述被视为包含 CGI 脚本的目录。

      因此,将cgi_directories 设置为您需要的任何值,您将能够在与以前的任何名称都不匹配的目录中提供脚本。

      或者,我想说您也可以在预期目录之一中的脚本链接处添加对该脚本的访问权限。

      【讨论】:

        猜你喜欢
        • 2013-02-12
        • 2017-07-25
        • 2015-03-11
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 2023-04-05
        • 1970-01-01
        相关资源
        最近更新 更多