在Rust中,你可以使用reqwest
库来发送HTTP请求并设置超时。以下是一个简单的示例,展示了如何设置超时:
首先,确保你已经添加了reqwest
和tokio
(如果你使用的是Tokio运行时)作为依赖项到你的Cargo.toml
文件中:
[dependencies]
reqwest = { version = "0.11", features = ["json"] }
tokio = { version = "1", features = ["full"] }
然后,你可以在你的Rust代码中设置超时:
use reqwest::{Client, Error};
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), Error> {
// 创建一个客户端,并设置超时时间
let client = Client::builder()
.timeout(Duration::from_secs(5)) // 设置超时时间为5秒
.build()?;
// 发送一个GET请求
let response = client.get("https://api.example.com/data")
.send()
.await?;
// 处理响应
if response.status().is_success() {
let data: serde_json::Value = response.json().await?;
println!("数据: {:?}", data);
} else {
println!("请求失败,状态码: {}", response.status());
}
Ok(())
}
在这个示例中,我们创建了一个Client
实例,并使用timeout
方法设置了超时时间为5秒。然后,我们发送了一个GET请求,并在响应中处理了成功和失败的情况。