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.交流群: 2702237 13835667

相關課文
  • 在rust/axum框架中操作redis

  • rust編譯新的wasm項目操作流程(原文: 編譯 Rust 爲 WebAssembly)

  • rust視圖模板庫askama的使用

  • 在M1 M2芯片的蘋果電腦上編譯intel x86的rust庫

我要說說
網上賓友點評