当我运行python -m SimpleHTTPServer 8000
或python -m CGIHTTPServer 8000
在我的壳,我主持我的当前目录中的互联网内容。
我想提出以下cgi_script.py工作在命令行中使用上述命令正确,当我浏览到192.xxx.x.xx:8000/cgi_script.py
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""
但该脚本仅字面上,而不是显示的“Hello World!” 部分。 顺便说一句,我改变了文件权限设置为755 cgi_script.py以及我从托管的文件夹。
试着用python -m CGIHTTPServer 8000
。
请注意,您必须移动脚本到cgi-bin
或htbin
目录,以便可运。
因此不会允许我发表意见,所以我加入这个作为一个单独的答案,除了罗德里戈的。
您可以使用其他参数cgi_directories
默认为['/cgi-bin', '/htbin']
更多信息点击这里
当我遇到了这个问题,我发现,这取决于你是在哪个目录,当你运行python -m CGIHTTPServer 8000
命令收益率不同的结果。 当试图同时在cgi-bin目录浏览器继续返回原始脚本代码运行的命令。 有一次我cd'ed一个水平高,跑的python -m CGIHTTPServer 8000
再次命令我的脚本执行开始。
@ Bentley4 -ifyou仍然没有能够做到,尝试导入CGI。
!#C:\ Python34 \ python.exe -u进口CGI打印( “内容类型:text / html的”)
HTH
在Python3命令行仅仅是
python -http.server --cgi 8000
这对我的工作,运行python -m CGIHTTPServer 8000
命令相同的菜单用的cgi-bin水平,并移动到cgi_script.py的cgi-bin folder.In浏览器类型的http://本地主机:8000 / cgi-bin目录/ cgi_script.py
文章来源: How to host python cgi script with `python -m SimpleHTTPServer 8000` or `python -m CGIHTTPServer 8000`?