post - 如何使用 Hyper 或 Reqwest 获取原始 HttpResponse?

标签 post rust get hyper reqwest

执行 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/

相关文章:

c# - 发出 Post 请求时为 WebClient 设置主体

php - 从表单发布数组

windows - 如何将OsString传递给Win32 API调用

rust - 性状std::convert::From <String>不适用于hyper::body::Body

chalice 2.0.0 : HTTP status 302

php - $_POST数组问题

php - Post 方法在 Laravel 中不起作用

rust - 在接受特征对象的方法中使用关联函数

php - 保留参数并从表单中添加另一个

PHP 在 onclick 事件中获取内容