gpt4 book ai didi

http - 你如何在 Rust 中发出 GET 请求?

转载 作者:可可西里 更新时间:2023-11-01 15:07:14 24 4
gpt4 key购买 nike

我注意到 Rust 没有内置库来处理 HTTP,它只有一个 net 模块来处理原始 IP 和 TCP 协议(protocol)。

我需要获取 URL 的 &str,发出 HTTP GET 请求,如果成功则返回 String&str对应于字符串形式的 HTML 或 JSON 或其他响应。

它看起来像:

use somelib::http;

let response = http::get(&"http://stackoverflow.com");
match response {
Some(suc) => suc,
None => panic!
}

最佳答案

当前针对此特定问题的最佳做法是使用 reqwest crate ,按照说明in the Rust Cookbook .此代码稍微改编自食谱以独立运行:

extern crate reqwest; // 0.9.18

use std::io::Read;

fn run() -> Result<(), Box<dyn std::error::Error>> {
let mut res = reqwest::get("http://httpbin.org/get")?;
let mut body = String::new();
res.read_to_string(&mut body)?;

println!("Status: {}", res.status());
println!("Headers:\n{:#?}", res.headers());
println!("Body:\n{}", body);

Ok(())
}

正如食谱中提到的,这段代码将同步执行。

另见:

关于http - 你如何在 Rust 中发出 GET 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43222429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com