侧边栏壁纸
博主头像
SRE实践 博主等级

行动起来,活在当下

  • 累计撰写 26 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

利用python快速创建 HTTP 文件服务器

佚名
2025-05-15 / 0 评论 / 0 点赞 / 6 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

几种不同 Python 版本下快速创建 HTTP 文件服务器的命令,您可以直接在终端中运行:

一、Python 3.7+ 版本(推荐)

1. HTTP 服务器(不安全,但简单)

bash

python3 -m http.server 8000
  • 访问方式:打开浏览器,输入 http://localhost:8000

  • 特点:直接使用标准库,无需额外依赖,支持目录浏览和文件下载。

2. HTTPS 服务器(安全,需证书)

步骤 1:生成自签名证书(仅需执行一次)

bash

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365 -subj '/CN=localhost'

步骤 2:启动 HTTPS 服务器

bash

python3 -m http.server 4433 --bind 127.0.0.1 --cert cert.pem --key key.pem
  • 访问方式:打开浏览器,输入 https://localhost:4433(需忽略浏览器安全警告)

  • 特点:加密传输,适合敏感文件,但需要手动信任证书。

二、Python 2.x 版本(旧版,不推荐)

bash

python -m SimpleHTTPServer 8000
  • 注意:Python 2 已停止维护,建议升级到 Python 3。

三、高级选项(需安装第三方库)

1. 使用 http-server(Node.js 工具,跨平台)

bash

npx http-server -p 8000 -S -C cert.pem -K key.pem
  • 特点:支持 HTTP/2、自定义 MIME 类型,下载速度更快。

2. 使用 serve(Python 库,功能增强)

bash

pip install serve
serve --port 8000 --ssl-cert cert.pem --ssl-key key.pem
  • 特点:支持目录索引美化、文件压缩、密码保护等。

使用提示

  1. 文件路径:服务器会暴露当前终端所在目录的所有文件。

    • 例如,若在 /home/user/Downloads 目录下运行,浏览器将显示该目录的文件列表。

  2. 中文文件名:现代 Python 版本已默认支持 UTF-8 编码,中文文件名可正常显示。

  3. 安全注意事项

    • 避免在公共网络使用 HTTP 服务器(未加密)。

    • HTTPS 服务器的自签名证书需手动信任,否则浏览器会显示安全警告。

  4. 停止服务器:按 Ctrl + C 终止运行。

示例场景

若您需要临时分享当前目录下的文件给同事:

  1. 确保同事与您在同一局域网(或您已配置端口转发)。

  2. 启动服务器后,告知同事访问您的 IP 地址和端口(如 http://192.168.1.100:8000)。

以上命令可根据实际需求选择使用,推荐优先使用 Python 3 的 HTTPS 方案以确保安全性。

0

评论区