如何在windows中运行python cgi web服务器

如何在windows中运行python cgi web服务器,python,html,python-3.x,webserver,cgi,Python,Html,Python 3.x,Webserver,Cgi,我想在windows环境中运行一个非常简单的基于python的服务器,以测试CGI脚本。我希望在windows中执行此操作,但最终在unix环境中运行。到目前为止,我有一个简单的服务器和一个简单的程序。当我访问该站点时,我看到一个空白页面,源代码中没有任何内容,我无法理解到底发生了什么 服务器 from http.server import HTTPServer, CGIHTTPRequestHandler class Handler(CGIHTTPRequestHandler): c

我想在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
#-*-编码:UTF-8-*-
导入cgi,cgitb
form=cgi.FieldStorage()
#从字段中获取数据
first\u name=form.getvalue('first\u name')
last\u name=form.getvalue('last\u name')
打印(“内容类型:text/html\r\n\r\n”)
打印(“”)
打印(“”)
打印(“你好-第二个CGI程序”)
打印(“”)
打印(“”)
打印(“你好%s%s”%(姓、名))
打印(“”)
打印(“”)

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

当然,就在我发布答案的时候,我找到了答案。。。我应该只使用
\n\n
,而不是
\r\n\r\n

print ("Content-Type: text/html\n\n")

有没有理由不使用瓶子这样简单的东西?@fp:Shear lazness。我只是暂时不想安装其他东西…嗨!我试图做一些与您描述的类似的事情:>在windows环境中运行一个非常简单的基于python的服务器,测试CGI脚本。我想在windows中这样做,但我对CGI和Web服务器编程还不熟悉。我复制了你的代码,在一个我必须编写脚本的文件夹中,一个server.py(server)和一个test_CGI.py(App)。要测试它,我可以看到文件夹中的文件,当我点击App(test_CGI.py)时,我可以看到它是内容,但它没有执行,我做错了什么?
print ("Content-Type: text/html\n\n")