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 做案例应用.

Rust Reqwest 学习相关推荐

  1. rust - trait学习

    通过对<Rust 程序设计语言>,<通过例子学 Rust 中文版>以及令狐一冲老师对相关知识点的学习总结而成. rust - trait学习 1 trait 的基本含义 2 定 ...

  2. Rust太难?那是你没看到这套Rust语言学习万字指南!

    摘要:从开发环境.语法.属性.内存管理和Unicode等五部分,为你带来一份详细的Rust语言学习的精华总结内容. 一.Rust开发环境指南 1.1 Rust代码执行 根据编译原理知识,编译器不是直接 ...

  3. Rust语言学习大纲

    Time: 20190919 接下来,我们将循着这个足迹来学习了解Rust语言,实战Rust语言,希望对你也有一定的帮助~ 2019.10 Update: 第一届PAT算法直播课培训班招募帖,欢迎点击 ...

  4. Rust 闭包学习 (Fn/FnMut/FnOnce)

    文章目录 闭包作为参数 闭包作为结构体属性 异步使用闭包 项目地址 学习 Rust 闭包记录 闭包作为参数 fn main() {parameter_is_callback_t(Box::new(|| ...

  5. Rust结伴学习 — 前言

    前言 本系列旨在记录自己学习Rust的过程,也希望借此方式激励自己能够坚持下去,内容可能比较简单,希望大家见谅,也希望大家可以督促我坚持下去~~ 为什么学习Rust 没有很特别的原因,只是因为Rust ...

  6. rust入门学习指南

    背景介绍 已入职新公司三个月,rust技能从0开始,到现在已经可以熟练编写各种功能了. 这里分享一下笔者的rust学习路线. 在学习rust之前,笔者已经有三年多的C++开发经验,有一定的Python ...

  7. Rust个人学习之hello world

    rust 作为新晋热门语言,作为软件研发工作者不得不开启新一轮的学习与思考,今天就考虑拿一本书作为入门,快速进入rust的世界. 既然是接触的一门新的编程语言,自然绕不过向这个美好的世界打声招呼,今天 ...

  8. rust军用船指令_Rust基础学习笔记(五):Cargo与Crates.io

    最近复习鸽了几天,今天继续学,希望在考试之前搞定这个官方文档 もうダメ.... 本章学习Cargo和Crates.io相关,内容有下: 自定义构建 向crates.io提交libraries 利用工作 ...

  9. rust 入门笔记: rustlings(推荐一些学习rust语法的一些非常好的小练习)

    rustlings 推荐一个学习rust非常好的repo: Small exercises to get you used to reading and writing Rust code! - 学习 ...

最新文章

  1. Python笔记总结(1)
  2. Apollo配置中心原理简介
  3. 百叶窗效果显示图片源码(c#)
  4. 做一个完整的Java Web项目需要掌握的技能
  5. goland gorm分组查询统计_golang gorm 计算字段和获取sum()值的实现
  6. IPAD移动端交互原型通用设计方案、ipad元件库、移动元件库、元件列表、设计元件、交互示例、界面模板、设备模板、手势图标、社交界面、音乐、电商、视图控制器、指示器、指纹解锁、手势解锁、rp元件库
  7. 【报告分享】2020年金融科技十大关键词.pdf(附下载链接)
  8. WebService调用
  9. [Mongodb]安装与启动
  10. iReasoning MIB Browser显示中文乱码问题
  11. 股指跨期套利基础学习
  12. 深入分析 synchronized 的实现原理
  13. 如何在阿里云物联网平台新增一个设备
  14. 51单片机 | 外部中断实验
  15. 时间基础概念及Linux中的时间函数
  16. 后仿真如何反标SDF文件
  17. python easyicon同类型ico图片批量爬取
  18. 达林顿驱动器ULN2003,ULN2803使用注意要点
  19. Linux V4L2子系统分析(一)
  20. 圆管压降计算(利用达西公式)

热门文章

  1. Unity引擎光照烘焙
  2. linux最新bbr加速,CentOS 7.8 安装BBR加速
  3. 2021.03.12——学习公司项目
  4. redis的安装教程(单机、win10)
  5. Linux中tar和scp
  6. Rust的审核团队突然宣布集体辞职
  7. 蚂蚁金服宫孙:guava探究系列之优雅校验数据
  8. Elasticsearch5.0 安装 以及 问题集锦
  9. mysql5.5免安装版教程_mysql 5.5.56免安装版配置方法
  10. Suse linux 关闭防火墙命令,suse防火墙关闭