#http-request #http #request #client

http_req

简单轻量级HTTP客户端,内置HTTPS支持

43个版本

新增 0.12.0 2024年8月17日
0.11.1 2024年7月28日
0.11.0 2024年6月27日
0.10.2 2023年12月1日
0.3.1 2018年11月21日

#28 in HTTP客户端

Download history 3543/week @ 2024-05-04 2180/week @ 2024-05-11 2239/week @ 2024-05-18 1897/week @ 2024-05-25 1884/week @ 2024-06-01 1981/week @ 2024-06-08 1944/week @ 2024-06-15 1676/week @ 2024-06-22 1690/week @ 2024-06-29 1363/week @ 2024-07-06 2518/week @ 2024-07-13 1800/week @ 2024-07-20 2357/week @ 2024-07-27 2214/week @ 2024-08-03 2102/week @ 2024-08-10 1951/week @ 2024-08-17

8,839次每月下载
用于 48 个crate(直接使用25个)

MIT 协议

130KB
2.5K SLoC

http_req

[!警告] v0.12.0版本将 RequestBuilder 替换为 RequestMessage。在迁移到旧版本之前,请查阅 文档

Rust Crates.io Docs.rs

简单轻量级HTTP客户端,内置HTTPS支持。

  • 通过 rust-native-tls (或可选 rus-tls) 进行HTTP和HTTPS
  • 二进制文件大小小(基本GET请求小于0.7MB)
  • 依赖项最少

要求

http_req默认使用 rust-native-tls,该库依赖于Windows和macOS上的OS提供的TLS框架,以及其他平台上的OpenSSL。但它也支持 rus-tls

示例

基本HTTP GET请求

use http_req::request;

fn main() {
    let mut body = Vec::new(); //Container for body of a response.
    let res = request::get("https://doc.rust-lang.net.cn/", &mut body).unwrap();

    println!("Status: {} {}", res.status_code(), res.reason());
}

请参阅 更多示例

如何与 rustls 一起使用

为了在项目中使用 http_reqrustls,请将以下行添加到 Cargo.toml

[dependencies]
http_req  = {version="^0.12", default-features = false, features = ["rust-tls"]}

许可证

许可协议为 MIT

依赖项

~0.2–11MB
~135K SLoC