【问题标题】:Access original raw headers with WSGI使用 WSGI 访问原始原始标头
【发布时间】:2014-01-24 00:23:22
【问题描述】:

假设你有一个 WSGI 处理程序:

def handle_request(environ, start_response):

environ 中的标题应该类似于

{'HTTP_HOST': 'localhost:8080', 'HTTP_USER_AGENT': 'Mozilla/..'}

WSGI 将“User-Agent”和“user_agent”转换为“HTTP_USER_AGENT”,但我需要准确的原始名称。

有没有办法访问原始标头/请求文本?

【问题讨论】:

    标签: python http-headers wsgi request-headers


    【解决方案1】:

    不,没有。根据 WSGI 规范,标头是按照 CGI 命名规则传递的。

    也许实际上描述了您要解决的潜在问题。

    【讨论】:

    • 我需要将某些类型的请求转发(代理)到另一台服务器,同时尝试保持它们与原始请求相同(这意味着没有下划线的标头)。
    • 所以把事情转回原来的样子。 HTTP 标头不区分大小写,因此即使您不知道大小写也没关系。除了破折号之外,您也不应该真正使用任何非字母字符,因此任何下划线总是会变成破折号。显然不要忘记从一开始就剥离 HTTP_。请参阅pythonpaste.org/modules/proxy.html 的实现,了解它是如何做到的。
    猜你喜欢
    • 2012-08-02
    • 2018-06-23
    • 2011-06-08
    • 1970-01-01
    • 2012-06-27
    • 2018-02-01
    • 1970-01-01
    • 2019-03-17
    • 2014-06-15
    相关资源
    最近更新 更多