用python搭建简易文件共享Web服务器(支持上传和下载)

作为很多地方都介绍过的,python自带的SimpleHTTPServer,只需要一个命令就可成为一个web服务器,可以实现文件的共享(下载)功能。
一个命令:python -m SimpleHTTPServer
默认就会监听0.0.0.0:8000,其输出信息中有 “Serving HTTP on 0.0.0.0 port 8000”等。
然后,用浏览器打开 http://server_ip:8000/ 的 URL 即可看到一个web页面展示着启动的目录下各个文件。
当然,你想换个端口(假设8888),命令改一下即可:python -m SimpleHTTPServer 8888

不过,原生的SimpleHTTPServer不支持文件的上传;因为有时候,不想给用户名密码给别人,但就临时想让同事传个文件到某服务器上,那么就可以考虑引入下面这个 SimpleHTTPServerWithUpload.py
代码见:https://github.com/smilejay/python/blob/master/py2016/SimpleHTTPServerWithUpload.py
使用方法:python SimpleHTTPServerWithUpload.py
也可以加上8888这样的端口号。
然后浏览器中的web页面的上方就有选择文件并上传的功能(upload),之后是目录中文件的列表可供下载(download)。
使用起来还是很方便的,临时需求可以用用。

代码实际来源:https://github.com/tualatrix/tools/blob/master/SimpleHTTPServerWithUpload.py

master

Stay hungry, stay foolish.

5 Comments

    • 哦.. 以前那个模板很老了,开发者也更新了;今年就换了这个试试

  1. 挺好用的 但中文会有乱码 需要转码
    displayname.decode(‘utf8’).encode(‘gbk’)

    • 嗯 不错,谢谢指出。 自己平时文件名尽量都用英文了,没注意~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注