axum框架当中获取请求header, 和获取header指定字段的方法

字号+ 编辑: 种花家 修订: 种花家 来源: 原创 2023-09-20 我要说两句(0)

目前axum官方文档上写的是很早以前已淘汰的。本文记录axum0.7版本的header获取方法

在这个环节里, 你不需要在路由上动手脚。在http路由指向的方法当中传一个参数, 类型为axum::http::HeaderMap

当需要获取指定的请求头字段时, 假设你传进来的HeaderMap参数的名字叫some_headers, 则使用

some_headers.get("字段名")

的方式来获取。cookie的话可以通过以下方式获取

some_headers.get("cookie")

demo代码如下:

use axum::{response::Html, http::HeaderMap, response::IntoResponse};
pub async fn handler() -> Html<&'static str> {
    // 默认页
    Html("<h2>Service Unavailable.</h2>")
}
pub async fn test(headers:HeaderMap) -> impl IntoResponse {
    // 获取请求头单个的User-Agent字段
    println!("User-Agent: {:?}", headers.get("user-agent"));
    // 打印全部字段
    for (key, value) in headers.iter() {
        println!("{:?}: {:?}", key, value);
    }
    // headers.insert("x-my-hdr", "abc".parse().unwrap());
    // (headers, "It works!")
}


阅完此文,您的感想如何?
  • 有用

    36

  • 没用

    1

  • 开心

    18

  • 愤怒

    1

  • 可怜

    1

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • 在rust/axum框架中操作redis

  • rust编译新的wasm项目操作流程(原文: 编译 Rust 为 WebAssembly)

  • rust视图模板库askama的使用

  • 在M1 M2芯片的苹果电脑上编译intel x86的rust库

我要说说
网上宾友点评