【python】http.server内置库构建临时文件服务

需要从linux开发机上下载一个文件到本地,约700M比较大,通过sz命令下载较慢且传输过程不稳定连续失败,后采用下面方式解决。

cd到一个目录下执行python -m http.server port,port为服务的端口号:
在这里插入图片描述

启动后浏览器中访问服务地址,从这里可以直接查看目录下所有的文件&下载。
在这里插入图片描述

下面是服务的参数源码:
在这里插入图片描述

主要参数:
-b绑定服务监听的ip地址,默认值0.0.0.0公网所有ip都可以访问,127.0.0.1只能本机访问,该参数不用调整。
-d设置哪个目录作为根目录,默认值执行命令时的当前所在目录。
port指定端口号,默认值8000,指定0会随机分配一个未使用的端口。

-d参数在一些较低python版本中可能没有,上面源码版本是Python 3.12.2,在Python 3.6.5版本中就没有这个参数。可以通过下面代码找到服务的源代码文件位置,直接查看源代码确定支不支持该参数。

import http.server
import inspect

print(inspect.getfile(http.server))
# 返回 http.server 模块的文件路径。

注意

启动服务后可能仍然访问不了服务,检查服务器端口配置,分配的端口是否对外可见。

可以通过nc命令测试:

1.服务器上指定监听的端口:nc -l -p port
2.其他机器上echo 1 | nc ip port,ip为服务器的ip,可通过hostname -i获取。
3.查看服务器是否接收到其他机器发送的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值