根据 Hyper.rs 上的文档,
如果您正在寻找一个方便的 HTTP 客户端,那么您不妨考虑
reqwest
. 如果您正在寻找方便的 HTTP 服务器,那么您不妨考虑warp
. 两者都建立在这个库之上。
看 api,Hyper.rs 似乎已经相当高级了。它支持proxies、tls和cookie ... 为什么 Reqwest 的级别更高?
Hyper 要求您处理较低级别的细节,例如解析 URI(文档中的示例):
let client = Client::new();
let uri = "http://httpbin.org/ip".parse()?;
let mut resp = client.get(uri).await?;
while let Some(chunk) = resp.body_mut().data().await {
stdout().write_all(&chunk?).await?;
}
而 reqwest 为你处理这个(来自docs.rs):
let body = reqwest::get("https://www.rust-lang.org")
.await?
.text()
.await?;