这可能是局域网内分享文件的最佳方案

标题中说是局域网,但是并没有限制你在公网上使用这种方式来单向传出文件,只要是HTTP协议能够正常工作的网络就行。通常发送文件给同事,都是用钉钉,QQ,微信或者的别的社交软件,或者是U盘(很少用到)。使用社交软件传文件的坏处就是这个文件要先发送到服务器,然后对人从服务器上下载,可能文件挺大的,速度慢,也不支持断点传输,也可能是机密文件,你不想被第三方获取。使用U盘缺点是,你要先把文件拷贝到U盘,然后从U盘拷贝到对方的电脑,速度慢,问题是我根本就没有U盘,或者文件在一台U盘无法工作阿里云服务器。所以我这里给出的解决方案是Python内置的HTTP服务器,优点是*nix都自带了python,所需不需要安装任何依赖。即便是widnows,安装python也非常的简单。同事让我发个什么文件给他,我都懒得发,都是把这个进程打开,让他自己下载。

python 2.x

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 默认是8000端口
python -m SimpleHTTPServer
// 设置为80端口
python -m SimpleHTTPServer 80

[deploy@baochai ~]$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
192.168.1.46 - - [25/May/2018 09:11:50] code 501, message Unsupported method ('OPTIONS')
192.168.1.46 - - [25/May/2018 09:11:50] "OPTIONS / HTTP/1.1" 501 -
192.168.1.46 - - [25/May/2018 09:12:53] "GET / HTTP/1.1" 200 -
192.168.1.46 - - [25/May/2018 09:12:54] code 404, message File not found
192.168.1.46 - - [25/May/2018 09:12:54] "GET /favicon.ico HTTP/1.1" 404 -
192.168.1.46 - - [25/May/2018 09:12:56] "GET /.ansible/ HTTP/1.1" 200 -
192.168.1.46 - - [25/May/2018 09:13:01] "GET /.ansible/delete.yml HTTP/1.1" 200 -
192.168.1.46 - - [25/May/2018 09:13:04] "GET /.ansible/deploy_go.yml HTTP/1.1" 200 -

python3.x

1
2
3
4
5
6
7
8
9
// 默认是8000端口
python3.4 -m http.server
// 设置为9999端口
[deploy@baochai ~]$ python3.4 -m http.server 9999
Serving HTTP on 0.0.0.0 port 9999 ...
192.168.1.46 - - [25/May/2018 09:32:21] "GET / HTTP/1.1" 200 -
192.168.1.46 - - [25/May/2018 09:32:21] code 404, message File not found
192.168.1.46 - - [25/May/2018 09:32:21] "GET /favicon.ico HTTP/1.1" 404 -
192.168.1.46 - - [25/May/2018 09:32:24] "GET /.m2/ HTTP/1.1" 200 -

通过浏览器你就能看到当前目录下的所有文件了,你也可以选择不使用浏览器,直接通过wget下载对应的文件,文件的url是什么,我就懒得说了,有一万种办法知道。这个功能用来服务器下载日志,局域网分享文件真的挺不错的,用完了记得关闭这个服务。就酱!!!