执行 reqwest::get("https://httpbin.org/ip").send().await?
后有没有办法获得实际/原始/原始 http 响应?
或来自超:client.get("https://httpbin.org/ip".parse()?).await?
我需要与 postman 返回的结果类似的结果:
Date: Mon, 13 Jul 2020 07:43:46 GMT
Content-Type: application/json
Content-Length: 33
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
{
"origin": "102.200.212.40"
}
不知何故,reqwest 将响应组织得很好。进入 version()
, status()
, headers()
等等我特别提到 reqwest 和/或 hyper 的原因是因为它们在代码中被广泛使用。在我们尝试另一个 crate/lib 之前,我希望我仍然可以使用它们。
最佳答案
@B.CarlaYap 实际上你的问题是不可理解的..你能更新并添加你正在调用的 postman 电话的确切显示吗?您也在查看可以从 Response 获得的 HEADER。
您可以使用更容易理解的阻塞。
reqwest = {version = "0.10.8", features = ["blocking", "json"]}
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("GET https://www.rust-lang.org");
let mut res = reqwest::blocking::get("https://www.rust-lang.org/")?;
println!("Status: {}", res.status());
println!("Headers:\n{:?}", res.headers());
// copy the response body directly to stdout
res.copy_to(&mut std::io::stdout())?;
println!("\n\nDone.");
Ok(())
}
关于post - 如何使用 Hyper 或 Reqwest 获取原始 HttpResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62886289/