rust之CLI工具

381 阅读1分钟

实现的功能

  • 命令行的解析,处理子命令和各种参数,验证用户的输入,将输入转换成内部参数
  • 根据解析好的参数,发送一个HTTP请求,获得响应
  • 友好地响应

image.png

对应的库

  • 命令行解析-clap
  • http客户端-reqwest
  • 格式化输出-colored
  • 错误处理-anyhow
  • json格式化-jsonxf
  • mime类型处理-mime
  • 异步处理-tokio

代码实现

创建项目

cargo new httpie
cd httpie

更改依赖库

[package]
name = "httpie"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = "1" #错误处理
clap = "4.1.8" #命令行解析
colored = "2" #命令终端多彩显示
jsonxf = "1.1" #json 格式化
mime = "0.3.16" #处理mime类型
reqwest = {version = "0.11", features = ["json"]} #HTTP客户端
tokio = { version = "1", features = ["full"]} #异步库

主要来自陈天-Rust编程第一课的整理