download_app/README.md

85 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 文件下载管理器
简单的Python文件下载工具支持后台运行和Web界面监控。
## 功能特点
- ✅ 顺序下载,一个完成后才开始下一个
- ✅ 自动从URL或响应头获取文件名
- ✅ Web界面实时查看下载状态
- ✅ 后台运行记录PID和日志
- ✅ 使用Python3内置库无需额外安装
## 使用方法
### 1. 配置下载地址
编辑 `sources.txt` 文件一行一个URL
```
# 注释行以 # 开头
https://example.com/file1.zip
https://example.com/file2.pdf
```
### 2. 启动服务
```bash
./start.sh
```
启动成功后会显示:
- PID进程ID
- Web访问地址http://localhost:8888
- 日志文件路径
- 下载目录路径
- **所有下载任务的状态统计和详情**
### 3. 查看状态
```bash
./show_status.sh
```
显示所有任务的:
- 状态统计(等待/下载/完成/失败)
- 每个任务的详情URL、文件名、大小、重试次数、错误信息
或者访问 Web 界面http://localhost:8888
### 4. 停止服务
```bash
./stop.sh
```
停止前会显示当前任务状态。
## 文件说明
| 文件 | 说明 |
|------|------|
| `sources.txt` | 下载资源列表一行一个URL |
| `download_manager.py` | 主程序 |
| `start.sh` | 启动脚本 |
| `stop.sh` | 停止脚本 |
| `show_status.sh` | 状态查看脚本 |
| `download/` | 下载文件保存目录 |
| `download_state.json` | 任务状态保存文件 |
| `download_manager.log` | 运行日志 |
| `download_manager.pid` | 进程PID文件 |
## 常见问题
**Q: 如何修改端口?**
A: 修改 `download_manager.py` 中的 `PORT = 8888`
**Q: 下载中断后如何恢复?**
A: 重新运行 `./start.sh`,会自动从中断处继续
**Q: 如何重新下载失败的文件?**
A: 删除 `download_state.json` 后重启
**Q: 查看日志?**
A: `tail -f download_manager.log`