# nltget **Repository Path**: farfarfun/nltget ## Basic Information - **Project Name**: nltget - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nltget 轻量的 Python HTTP 文件传输工具,提供单线程下载、Range 并发下载、PUT/POST 上传、断点续传和命令行接口。 ## 安装 ```bash pip install nltget ``` 需要 Python 3.8 或更高版本。 ## 命令行 ```bash nltget download https://example.com/file.zip -o file.zip nltget download https://example.com/large.zip --worker 8 --block-size 50 nltget upload ./file.zip https://upload.example.com/file.zip nltget info https://example.com/file.zip ``` 运行 `nltget --help` 或 `nltget --help` 查看完整参数。 ## Python API `download()` 会先检查文件大小和 Range 支持:超过 10 MiB 且服务器支持 Range 时并发下载,否则使用单线程。 ```python from nltget import download ok = download( "https://example.com/file.zip", "./downloads/file.zip", overwrite=True, ) ``` 也可以显式选择下载方式: ```python from nltget import multi_thread_download, simple_download simple_download(url, filepath, chunk_size=64 * 1024) multi_thread_download(url, filepath, worker_num=8, block_size=50) ``` 上传支持 PUT 和 multipart POST: ```python from nltget import single_upload single_upload(upload_url, filepath, method="PUT") single_upload(upload_url, filepath, method="POST") ``` 所有公开 API 均返回 `bool`。常用参数: | 参数 | 单位 | 说明 | | --- | --- | --- | | `worker_num` | 个 | 并发下载线程数 | | `block_size` | MiB | 多线程下载分块大小 | | `chunk_size` | 字节 | 单线程下载或上传读取块大小 | | `max_retries` | 次 | 失败后的最大重试次数 | | `timeout` | 秒 | HTTP 请求超时 | | `headers` | - | 自定义 HTTP 请求头 | | `auth` | - | `requests` 认证对象,包括 Digest 认证 | ## 许可证 [Apache-2.0](LICENSE)