Rust Reqwest 学习

reqwest 0.11.4 学习

以应用为主, 在实践中体验 rust 的强大和快捷。

首先以 Web 开发为主题,学习一个强大的 HTTP 客户端库 reqwest

Crate reqwest

介绍

单元包 reqwest 提供了一个便捷和高级别的 HTTP Client

该包处理了大多数人期望的一个 HTTP Client 可以替他们做的很多事情 。

  • Async 和 blocking 客户端
  • 纯文本 ( Plain Bodies ), JSON, urlencoded, multipart
  • 可自定义的 redirect policy
  • HTTP Proxies
  • 使用系统本地 tls ( system-native TLS )
  • Cookies

模块

reqwest 单元包包含以下模块 ( modules ):

  • blocking
  • cookie
  • header
  • multipart
  • redirect

函数

reqwest 中(非子模块下)仅有一个公有函数 get , 异步请求.

可选特征 Optional Features

若仅在 Cargo.toml 中做如下配置:

[dependencies]
reqwest = { version = "0.11", features = ["json"] }

则说明在使用 reqwest时仅仅启用了 json相关的功能模块.

诸如 cookies, socks等特征需要手动添加,否则使用不了 reqwest的未启用特征的相关模块.

常用特征如下:

  • native-tls 启用 TLS 功能
  • rustls-tls 通过该 rustls 启用 TLS 功能
  • blocking 提供 blocking 客户端 API
  • cookies 提供 cookie session 支持
  • gzip 对响应 BODY 启用 gzip 解压功能
  • deflate 对响应 BODY 启用 deflate 解压
  • json 对 JSON BODY 启用序列化和反序列化
  • multipart 提供 multipart forms 支持
  • stream futures::Stream 支持
  • socks 提供 SOCKS5 代理支持
  • rust-dns 启用受信任 DNS 异步解析而非使用 getaddrinfo 的默认线程池

应用 reqwest

接下来结合 reqwest 和 其提供的modules 做案例应用.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值