需求背景

之前在虚拟机、远程的服务器,如果因为一些硬性限制,但又想传输的文件的时候,没有太好的办法的时候,系统如果默认安装了Python3,可以使用python自带的server服务来进行文件传输,

// python 2.X temp$ python -m SimpleHTTPServer 2020// python 3.X temp$ python -m http.server 3030

但是,有个缺点,就是他只能单向传输,就是你只能从服务器上拉取文件回来,但是不能传输文件到服务器,基于这个需求,有了下文的解决方案。

// install , 如果不能上网,可以考虑将代码下载到本地git clone https://github.com/freelamb/simple_http_server.git// 进入你要共享的文件夹PS D:\home\code\python\simpy-server> cd .\file\PS D:\home\code\python\simpy-server\file> lsMode                LastWriteTime         Length Name----                -------------         ------ -----a----        2023/3/20     14:36              0 1.txt-a----        2023/3/20     14:37              0 a.txt-a----        2023/3/20     14:37              0 test.txt// runPS D:\home\code\python\simpy-server\file> python ..\simple_http_server\simple_http_server.py 8989server_version: simple_http_server/0.3.1, python_version: Python/3.10.2sys encoding: utf-8Serving http on: 0.0.0.0, port: 8989 ... (http://0.0.0.0:8989/)

Use the effect demo:

Reference

linux下几种文件传输的方式介绍
https://www.cnblogs.com/mysticbinary/p/12785763.html

使用python构建简单的http上传下载服务
https://www.jianshu.com/p/2147b7e7cf38

Source code
https://github.com/freelamb/simple_http_server

一个软件开发者(安全方向)的公众号。 Mysticbinary

Github:https://github.com/Mysticbinary
君何不畅谈一番?