首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在python 3.3中使用CGIHTTPRequestHandler运行Python cgi脚本

无法在python 3.3中使用CGIHTTPRequestHandler运行Python cgi脚本
EN

Stack Overflow用户
提问于 2012-11-29 15:10:23
回答 1查看 2.3K关注 0票数 1

我是一个新手;我试图用Python创建和使用一个简单的noob服务器来执行用Python编写的CGI脚本。我使用的是Windows XP和Python v3.3.0。我有一个包含"myserver.py“、"sample.html”的"myserver“目录和一个包含"cgi_demo.py”的"cgi-bin“目录。

myserver.py

代码语言:javascript
复制
from http.server import HTTPServer
from http.server import CGIHTTPRequestHandler

port = 8080
host = '127.0.0.1'
server_address = (host,port) 
httpd = HTTPServer(server_address,CGIHTTPRequestHandler)
print("Starting my web server on port "+str(port))
httpd.serve_forever()

cgi_demo.py

代码语言:javascript
复制
import cgi
import cgitb; cgitb.enable()

print("Content-type: text/html")
print
print("<html><body>")
for i in range(0,100):
  print(i,"<br>")
print("</body></html>")

现在,目录列表对于"myserver“可以很好地工作,但对于”cgi-bin“就不行了;也许这就是它的编码方式--我在这里没有问题。"sample.html“也可以很好地检索到。但是,"cgi_demo.py“的执行是不正确的。我在浏览器中看到一个空白页面;控制台窗口(也是空白的)出现并消失。此外,在服务器的控制台上,我收到以下消息

代码语言:javascript
复制
127.0.0.1 - - [29/Nov/2012 12:00:31] "GET /cgi-bin/cgi_demo.py HTTP/1.1" 200 -
127.0.0.1 - - [29/Nov/2012 12:00:31] command: C:\Python33\python.exe -u "D:\python apps\my web server\cgi-bin\cgi_demo.py" ""
127.0.0.1 - - [29/Nov/2012 12:00:32] CGI script exited OK

请告诉我出了什么问题!我感觉我的脚本的输出流没有连接到服务器。我做错了什么?不要说我必须扩展CGIHTTPRequestHandler!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-29 22:37:11

很抱歉给您添了麻烦!

好吧,这是我的错。需要注意的两件事:

1出现和消失的控制台窗口;只有当我使用IDLE执行服务器时才会发生这种情况。如果脚本已经在正常的windows控制台中运行,则不会发生这种情况。我的感觉是错的。

2在我的cgi脚本中有一个bug/错误。在打印HTTP头之后,我编写的print语句只是"print“,而不是实际的"print()".This太尴尬了!但是,即使这样,为什么解释器没有捕捉到这个错误呢?

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

https://stackoverflow.com/questions/13620558

复制
相关文章

相似问题

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