2

有没有办法在做一个之后得到实际的/原始的/原始的 http 响应reqwest::get("https://httpbin.org/ip").send().await?

或来自超:client.get("https://httpbin.org/ip".parse()?).await?

我需要与邮递员返回的结果类似的结果:

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 之前,我希望我仍然可以使用它们。

4

1 回答 1

0

@B.CarlaYap 实际上你的问题是不可理解的..你能更新并添加你正在拨打的邮递员电话的确切显示吗?您也在查看可以从 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(())
}
于 2020-08-27T15:07:10.507 回答