#http #curl #client #http-request #sync

idcurl

基于 curl 的惯用同步 HTTP 客户端

16 个版本

0.5.2 2024 年 8 月 2 日
0.5.0 2024 年 5 月 10 日
0.4.3 2022 年 7 月 12 日
0.4.2 2020 年 12 月 21 日
0.2.3 2019 年 6 月 20 日

#98HTTP 客户端

Download history 146/week @ 2024-05-10 17/week @ 2024-05-17 3/week @ 2024-05-24 1/week @ 2024-07-05 69/week @ 2024-07-26 154/week @ 2024-08-02 2/week @ 2024-08-09

每月 225 次下载

BSD-2-Clause

30KB
763

GitHub license Crates.io

简介

idcurl 是一个使用 curl (并继承其所有协议支持) 的同步 HTTP 客户端。

如果你绝对不想使用 futures,那么它很有用。

两个 crate 之一(与 isahc 一起)支持 Unix 域套接字!

示例

最基本请求

let mut output = vec!();
idcurl::get("http://example.com")
	.expect("error making request")
	.copy_to(&mut output)
	.unwrap();

您还可以配置您的请求

let body = r#"{ "hello": "world" }"#;

let mut response = idcurl::Request::post(
	"http://example.com".to_string()
)
	.header("Content-Type", "application/json")
	.body(std::io::Cursor::new(body))
	.send()
	.expect("http request");
assert!(response.status().is_success());
std::io::copy(&mut response, &mut std::io::stdout())
	.expect("reading response");

依赖关系

~7–14MB
~207K SLoC