Rust:
发出 HTTP 请求
如何:
// 引入依赖库
use reqwest;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
// 发送GET请求
let response = reqwest::get("https://httpbin.org/get").await?;
// 确认我们得到了成功的状态码
assert!(response.status().is_success());
// 解析响应体为文本
let body = response.text().await?;
println!("响应体: {}", body);
Ok(())
}
输出样例:
响应体: {
"args": {},
"headers": {
...
},
"origin": "your.ip",
"url": "https://httpbin.org/get"
}
深入探索
发送HTTP请求的能力在Rust中通常需要外部库,reqwest
库在社区中广受欢迎,因为它异步、安全并易于使用。请求之前,Internet通信的基础是诸如Telnet和FTP之类的协议的。当Web蓬勃发展,HTTP成为标志性协议。现如今,你还可以通过像hyper
这样的底层库来发送HTTP请求,它给你更多控制但编码更复杂。底层,HTTP请求由客户端向服务器发送一个格式化的文本消息构成,然后服务器以一个格式化的消息回复。