首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGIHTTPServer:错误代码403

CGIHTTPServer:错误代码403
EN

Stack Overflow用户
提问于 2011-07-22 03:53:22
回答 2查看 3.2K关注 0票数 2

我得到了一个:

错误响应错误代码403。消息: CGI脚本不能执行(‘/cgi/main.pyc’)。错误代码解释: 403 =请求被禁止-授权不会有帮助。

当绑定到在python CGIHTTPServer上运行编译的python脚本(.pyc)时。正常的python脚本(.py)运行良好。cgi服务器如下所示:

代码语言:javascript
复制
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler

class CGIServer(HTTPServer):
    def __init__(self, (hostname,port), handler):
        HTTPServer.__init__(self, (hostname, port), handler)
srvaddr = ("", 8000)
cgisrv = CGIServer(srvaddr,CGIHTTPRequestHandler)
cgisrv.serve_forever()

是否有可能在windows上实现此操作?.pyc文件与windows下的.py文件类似。就连谷歌也不能告诉我更多。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-10-17 09:39:04

.pyc文件是编译后的Python,打算单独运行。我确信CGIHTTPServer不能运行编译后的.py文件,只能运行具有.py扩展名的脚本。

你有什么理由不能用.py代替吗?

票数 0
EN

Stack Overflow用户

发布于 2013-09-16 08:29:25

您需要编写一个小包装器(在普通python中),将其他代码作为模块加载。

有关更多细节,请参阅python教程1及其评论:

  • --程序从".pyc“或".pyo”文件读取的速度不会比从".py“文件读取时运行得更快;关于".pyc”或".pyo“文件,唯一速度更快的是加载它们的速度。

当通过在命令行上指定脚本名称来运行脚本时,脚本的字节码永远不会写入“”或".pyo“文件。因此,脚本的启动时间可以通过将其大部分代码移动到模块并拥有一个导入该模块的小型引导脚本来缩短。

FYI -我刚刚用一个脚本和该脚本的编译版本测试了CGIHTTPServer。我得到了您注意到的错误,当我试图在命令行上运行这两个版本时,运行.py版本会打印预期的输出,运行.pyc版本会导致终端上打印一堆垃圾(我没有费心调查确切的源)。总之--反复检查是否可以在命令行上运行一个程序,作为基本测试。

1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6785471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档