一行Code - 搭建HTTP服务器, 文件 多设备共享
我的痛点是这样的.
我想实现 文件 (代码文件, PPT PDF, WORD, 视频...) 等各种文件, 在 windows 电脑, android 手机, iPad, 及 mac 电脑或者, 或更多设备之间呢 "优雅低" 互相高效, 便捷, 安全地进行传输.
然后一百度呢, 都是什么用网盘, 用qq, 微信, 文件传输助手, itools, 什么 iTunes, U盘, 下载什么手机助手, 连接数据线这些... 就简单想传输个pdf, 咱就这么麻烦呢.
想着, 再怎么说我也写代码的, 再差, 起码也能服务好自己, 于是呢, 我苦思冥想, 辗转反侧, 最后决定, 百度, 哈哈, 以为我是要自己动写软件 ? 不存在的, 作为CV攻城狮, 调参侠, 我贼厉害.
需求整理
- 局域网文件互传, 跨平台, 跨系统, 多设备
- 传输速度快, 便捷且操作简单
- 数据安全
方案整理
总体来说就3类, 系统自带app, 如 iTunes; 第三方网盘, 如百度网盘, onedriver..., 还有搭建 ftp 或stmp, 或 http 等 .
方案1 自带app
这一般可用于 mac 和 ipad 进行传输, 即通过数据线连上, 用 iTunes, 速度快, 安全, 这毛病. 但是, 我用得的是 windows 电脑, 和ipad, 这用 iTunes 传个毛线. 并非都是土豪能整上 apple 全家桶 . so, 这跨平台, 跨系统 就已经不行了, 更别说支持多设备了.
方案2 第三方网盘
这个算法大家都比较认可和最熟悉的一种方式了, 估计. 就举个学习方面的栗子, 像百度网盘, 有道云记笔记, Dropbox, 谷歌云端硬盘, Onedriver, PDF-Expert 这些第三方的 app, 确实还是可以的. 网盘都一个特点, 需要上传, 连接或下载, 以及, 总感觉免费的空间 不够用.
说两个人推荐的.
首先是 百度网盘 应该是应用最为广泛的了, 免费的空间很大, 存视频, 存课件, 资料分享都是挺好用的. 缺点就是速度非常慢, 也有, 推荐两个app, 都说Dropbox 好用, 我也感觉一般, 当然有空也可以试试.
最推荐 PDF-Expert 这是 ios 的应用, 嗯, 好像有安卓的破解版, 不过我没用过. 特别适合与将pc文件传 ipad 这样设备. 也支持从其他网盘获取, 它有 100GB 的免费空间, 很大, 它更像一个, 文件传输服务器, 并具备网盘功能, 和学习的功能. 特别好用.
网盘呢传输呢, 是挺好, 像我刚推荐的 PDF-Expert 这样的很多app, 但缺点在于:
- 第三方数据管理, 安全性不能保障. 尤其是像我这种做 数据工作 的, 内部文件绝对不能外发, 数据安全第一位.
- 不同 app 良莠不齐, 要么就是传输慢, 或者 空间小, 或者, 哎呀就是感觉上不太好用.
- 优点是支持跨平台, 我通常是作为第二选择的. 不过呢, 也不太方便, 要先下载, 要注册, 要登录...很操作繁琐
方案3 搭建-临时-文件传输服务器
既要 数据安全, 传输快, 跨平台, 多设备, 都要满足, 那肯定得是通过 网络传输了, 然后用 局域网, 相对安全, 这是最好的方式. 同时呢, 也不用下载, 安装什么软件, 用完即停, 跟小程序差不多.
当然有很多方式, 比如, ftp, http, stmp, webserver.. 等传输方式. 估计看着这, 对于非技术人员, 就想放弃了, 搭建成本比较高的. 但事实呢?
因为我是写 Python 代码的嘛, 有一个内置的 httpserver 一行命令-搞定文件传输服务器
从控制台, 进入想要分享文件夹路径, 然后输入: python - m http.server 直接启动了.
然后用浏览器访问: http:// 你的ip : 888 就实现共享了.
**真滴只要一行命令, 搭建服务器, 简直爽到不行哦, 是真香. **
Python 搭建 httpServer
环境准备
- 有安装 Python (3x)
- 有网络
cd 分享文件目录 - 启动
临时建一个空的, 或者直接进入分享文件, 或者, 你随意吧. 我这里做个演示.
进入这个控制台
然后就直接一步到达.
启动服务器: (输入命令: python -m http.server) 回车即可
查看下自己的 ip (局域网的), 另开个cmd窗口, 输入: ipconfig 回车即可.
通过浏览器来访问你的 ip, 端口默认是: 8000 .即可. (用你的 ipad, 或 mac, 或 安卓设备,有浏览器就行).
这里我的ip是 192.168.31.158
我一般是都是用来, 从 win下传个 mac 或者 ipad 的文件, 像代码文件或pdf 居多
最后即可关掉服务器
小结
- 网盘文件传输, 推荐用 百度网盘 还有 PDF-Expert
- http传输, 安装Python, 只需一行命令: python -m http.server
文件传输, 这个需求, 更多算是自己真实需求, 也分享这些简单可行, 且优雅的方法.