【问题标题】:Akka HTTP - How to get the raw (not URL decoded) request URL?Akka HTTP - 如何获取原始(非 URL 解码)请求 URL?
【发布时间】:2017-11-16 00:50:47
【问题描述】:

我正在使用 Akka HTTP 并有以下 HTTP 请求:

http://www.example.com?p1=1&p2=2&p3=http://www.example.net?a=1&b=2%203

Akka HTTP 中有没有办法获取完整的原始(未解码 URL)请求 URL?我想按原样获取完整的原始请求 URL

http://www.example.com?p1=1&p2=2&p3=http://www.example.net?a=1&b=2%203

解析它并得到“p3=”之后的所有内容。

【问题讨论】:

    标签: http http-headers akka akka-http


    【解决方案1】:

    打开akka.http.server.raw-request-uri-header 配置设置,原始请求URI 将作为名为@9​​87654323@ 的标头的值包含在内。

    换句话说,在您的application.conf 中,设置以下内容:

    akka.http.server.raw-request-uri-header = on
    

    然后从 Raw-Request-URI 标头中获取原始请求 URI。

    来自documentation

    有时可能需要获取传入 URI 的“原始”值,而不对其应用任何转义或解析。虽然这种用例很少见,但它每隔一段时间就会出现一次。通过打开akka.http.server.raw-request-uri-header 标志,可以在 Akka HTTP Server 端获取“原始”请求 URI。启用后,每个请求都会添加一个 Raw-Request-URI 标头。此标头将保存使用的原始原始请求的 URI。例如,检查参考配置。

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 1970-01-01
      • 2021-05-02
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      相关资源
      最近更新 更多