当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 为什么python3 -m http.server 8180之后浏览器访问py文件会直接看到源代码而不是网页?
帖子发表于 : 2017-03-12 17:41 

注册: 2011-07-29 19:16
帖子: 58
送出感谢: 31
接收感谢: 0 次
为什么python3 -m http.server 8180之后浏览器访问py文件会直接看到py文件源代码而不是网页?但是访问html文件会看到网页而不是html源代码。
还有这段代码,好像功能也差不多,但是还是同样的毛病:
代码:
import http.server
import socketserver

PORT = 8180

Handler = http.server.SimpleHTTPRequestHandler

httpd = socketserver.TCPServer(("", PORT), Handler)

print("serving at port", PORT)
httpd.serve_forever()


请问怎么解决这个问题,看到py脚本写的网页?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 为什么python3 -m http.server 8180之后浏览器访问py文件会直接看到源代码而不是网页?
帖子发表于 : 2017-03-12 22:27 
头像

注册: 2007-10-23 12:54
帖子: 1750
送出感谢: 3
接收感谢: 28
帮你测试了一下,这里面坑好多,需要满足这些条件

1.要用 python3 -m http.server 8180 --cgi 参数启动,不然是纯静态网站,只能看到 python 源码
2.脚本要放在 %root% => cgi-bin 目录,就是网站根目录下的 cgi-bin 目录下,不然作为静态文件输出
3.执行 python3 命令的用户要对脚本有读权限和执行权限
4.开头要有 #!/usr/bin/env python3 语句或者其他有效的 python3 路径
5.要注意 python3 语法,比如不能 print "hello world",要写成 print ("hello world")
6.换行符要用 Linux 的,不能用 Windows 的
7.语句和注释中有中文的话要用 UTF-8 编码,但不能添加 Unicode 签名(BOM)



_________________
评价: 3.7% gtiubvrd
 
页首
 用户资料  
 
3 楼 
 文章标题 : Re: 为什么python3 -m http.server 8180之后浏览器访问py文件会直接看到源代码而不是网页?
帖子发表于 : 2017-03-13 16:47 

注册: 2011-07-29 19:16
帖子: 58
送出感谢: 31
接收感谢: 0 次
谢谢,问题解决了,果然坑好多。能用的版本:
一句话版:python3 -m http.server --cgi 8180

python3代码版:
代码:
#!/usr/bin/env python3
from http.server import HTTPServer, CGIHTTPRequestHandler

port = 8180
try:
   httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
   print("Starting web server on port: " + str(httpd.server_port))
   httpd.serve_forever()
finally:
   print("Stopped.")



参考文档:https://docs.python.org/3/library/http.server.html


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译