#download #http #client #cli #parallel #command-line

bin+lib httpbox

一个命令行HTTP客户端,旨在像你的shell脚本技能一样功能丰富

1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年4月2日

#268#parallel

Apache-2.0

17KB
311

httpbox

Build Status License

httpbox 是一个命令行HTTP客户端,旨在像你的shell脚本技能一样功能丰富。

警告:这是我,终于抽出时间学习一点Rust和Rust最佳实践。如果我在做任何事情,请务必温柔地责备我... :)

版本发布

除了可以自己编译(见下面的“如何构建”部分)之外,还提供了以下版本:

  • Linux GNU 32位和64位
  • Mac OS X 32位和64位
  • Windows GNU 32位和64位

只需查看 /releases 以获取最新二进制文件。

待办功能列表

  • 详细程度控制
  • 安静模式(如果没有错误则不在 STD_OUT 上写入内容)
  • 帮助和版本标志
  • 来自 Cargo.toml 的 --help 的元信息(即二进制元数据的单一来源)
  • 支持所有HTTP方法
  • 默认输出到标准输出
  • 能够输出到指定的文件
  • 禁用gzip
  • 提供客户根证书
  • 提供头部信息
  • 提供用户代理(特殊头部)
  • 提供Cookies(特殊头部)
  • 提供用户代理字符串缩写(例如 'macosx-chrome-60' 或 'windows-edge')
  • 多个并发请求下载文件(如果目标服务器支持)
  • 确定最大重定向
  • 使用IPv4协议(默认)
  • 使用IPv6协议
  • 跳过HTTPS证书验证
  • 如果输出文件已存在则跳过下载
  • 代理配置
  • 超时(连接/读取)
  • 进度指示器(无、简单、高级)
  • 搜索镜像(研究:其他客户端如 'axel' 是如何做到这一点的?)

如何构建

与任何其他Rust二进制文件相比,构建 httpbox 没有什么特别之处

  1. 安装 rustup
  2. git clone [email protected]:detro/httpbox.git
  3. cdhttpbox
  4. cargo buildcargo build --release(用于发布工件,duh!)
  5. 二进制文件将存放在 target/(debug|release)/httpbox

许可证

Apache License 2.0 (官方页面)

依赖

约15-25MB
约425K SLoC