分类: LINUX
2010-09-14 09:43:46
$ python -m SimpleHTTPServer
这命令启动了Python的SimpleHTTPServer模块,考虑到Python在绝大多数的Linux发行版当中都默认安装,所以这个命令很可能是最简单的跨平台传文件的方法。
命令执行后将在本机8000端口开放HTTP服务,在其他能访问本机的机器的浏览器打开ttp://ip:8000即打开一个目录列表,点击即可下载。
2.先看看这个最简单的web服务器.
|
当然,这个server只能在localhost下面运行.但是却可以提供静态页面显示.
再看一个稍微复杂的.
|
上例,先创建了个tcp的server,不过,采用simple http request handler作为其handler.这样一来,你可以用网内的机子来访问这个web server了.有一点要注意,就是你的html文件目录和当前的脚本所在目录是一致的.
再往后看:
|
这个例子较上例是,可以设定html所在的目录.
如果不想用socketServer,可以直接用BaseHttpServer,他继承自SocketServer.
import BaseHTTPServer
import SimpleHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
from BaseHTTPServer import HTTPServer
def run(server_class = BaseHTTPServer.HTTPServer,
handler_class = SimpleHTTPRequestHandler):
server_address = ('',8000)
httpd = server_class(server_address,handler_class)
httpd.serve_forever()
if __name__ == "__main__":
run()
3.
接上文.在本地做测试的时候,应该是完全没问题的.但是在两台互通的机器上面做的时候,我在做实验的时候却老是不通.想来想去,只能想到是防火墙的原因了.
|
有兴趣的朋友可以自行调试.
4.好了,现在我们再看一下怎么搞cgi server.
|
这样一来,服务器相当于搞定了.当然我们要看一下怎么显示一个动态页面.动态语言依旧用python,在server的同级目录建一个cgi-bin目录,在这个目录里面建立hello.py:
|
可能你在执行的时候,浏览器里面显示为空,再看在server端的提示:
Traceback (most recent call last):
File "/usr/lib/python2.5/CGIHTTPServer.py", line 251, in run_cgi
os.execve(scriptfile, args, os.environ)
OSError: [Errno 13] Permission denied
应该是权限问题.最简单的方法是将整个cgi-bin目录权限改为最大: chmod -R 777 cgi-bin.再次执行,一切OK!
chinaunix网友2010-09-14 14:39:45
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com
chinaunix网友2010-09-14 14:39:45
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com