【发布时间】:2013-01-04 16:13:40
【问题描述】:
我想在 Windows 环境中运行一个非常简单的基于 python 的服务器,以测试 CGI 脚本。我想在 Windows 中执行此操作,但最终在 unix 环境中运行。到目前为止,我有一个简单的服务器和一个简单的程序。当我访问该站点时,我看到一个空白页面,源代码中没有任何内容,我无法弄清楚发生了什么。
服务器
from http.server import HTTPServer, CGIHTTPRequestHandler
class Handler(CGIHTTPRequestHandler):
cgi_directories = ["/cgi-bin"]
PORT = 8080
httpd = HTTPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
httpd.serve_forever()
应用:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import cgi, cgitb
form = cgi.FieldStorage()
# Get data from fields
first_name = form.getvalue('first_name')
last_name = form.getvalue('last_name')
print ("Content-type:text/html\r\n\r\n")
print ("<html>")
print ("<head>")
print ("<title>Hello - Second CGI Program</title>")
print ("</head>")
print ("<body>")
print ("<h2>Hello %s %s</h2>" % (first_name, last_name))
print ("</body>")
print ("</html>")
我在我的网络浏览器中访问该程序,我得到一个可下载的输出,它是文件的名称。文件似乎已执行,但我没有获得有效的网站。我做错了什么?
【问题讨论】:
-
有什么理由不使用像瓶子这样简单的东西?
-
@fp:剪切懒惰。我只是暂时不想安装其他东西......
-
嗨!我正在尝试执行您所描述的操作: > 在 Windows 环境中运行一个非常简单的基于 python 的服务器,以测试 CGI 脚本。我想在 Windows 中执行此操作但我是 CGI 和网络服务器编程的新手。我复制了你的代码,在一个我必须编写脚本的文件夹中,一个 server.py(服务器和一个 test_CGHI.py(应用程序)。为了测试它我去localhost:8080,我可以在文件夹中看到文件,当我点击应用程序(test_CGI.py),我可以看到它是内容但它没有执行,我做错了什么?
标签: python html python-3.x webserver cgi