简单的编程|Python搭建简易HTTP/HTTPS文件服务器
之前因为传输文件的需要,需要自己搭建文件传输服务器。FTP/FTPS文件服务器比较容易,因为相关的软件很多。关于HTTP/HTTPS文件服务器的介绍相对来说要少很多,网上关于HTTP/HTTPS文件服务器的搭建方法杂乱无章,很多方法根本是不可用的。因此,我特意总结了使用Python搭建简易HTTP/HTTPS文件服务器的方法。一、从GitHub下载源码
经过多次的尝试,我在GitHub发现了一个好用的Python编写的HTTP/HTTPS文件服务器,源码下载地址:https://github.com/eloypgz/httpsweet 。这个文件服务器是用Python3写成的。二、编译生成文件服务器
对源码进行编译:
python3 setup.py install
生成的最终的可用的文件是:httpsweet-master\build\scripts-3.7\httpsweet。三、httpsweet的使用方法
很遗憾,GitHub的作者并没有详细介绍httpsweet的用法。httpsweet的主要参数:
port:监听的端口号,默认为8000
--bind:绑定的IP地址,默认为0.0.0.0
--directory:指定的共享目录
--cert:HTTPS文件服务器需要的证书
--key:HTTPS文件服务器需要的私钥,与--cert参数一起使用
-h:帮助说明
复制代码
1、HTTP文件服务器
HTTP文件服务器只需要指定IP地址、端口号和共享目录即可:
python3 httpsweet --bind {ip} --directory {directory} {port}
2、HTTPS文件服务器
使用HTTPS文件服务器的时候,需要指定证书和私钥。使用openssl生成需要的证书和私钥:
openssl genrsa -out test.key 2048
openssl req -new -x509 -days 3650 -key test.key -out test.crt
复制代码
其中,test.crt为证书,test.key为私钥。
HTTPS文件服务器的使用方法为:
python3 httpsweet --bind {ip} --directory {directory} --cert {cert} --key {key} {port}
四、上传下载文件
GitHub上介绍的上传下载文件的方法很繁琐,对于我们来说,简单的curl命令即可实现文件的上传和下载。一般来说,linux系统自带curl命令;windows系统需要单独安装curl,下载地址为:https://curl.se/download.html 。
上传文件命令:
curl -o {filename} https://{ip}:{port}/{filename}
下载文件命令:
curl -T {filename} https://{ip}:{port}/{filename}
【简单的编程|Python搭建简易HTTP/HTTPS文件服务器】
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量