2

我想在 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>")

我在我的网络浏览器中访问该程序,我得到一个可下载的输出,它是文件的名称。文件似乎已执行,但我没有获得有效的网站。我究竟做错了什么?

4

1 回答 1

4

当然,我在发布它时就想出了答案......我应该只使用 a \n\n,而不是\r\n\r\n

print ("Content-Type: text/html\n\n")
于 2013-01-04T16:17:56.357 回答