在django中获取原始请求标头

bea*_*ear 3 apache django nginx python-3.x

有没有办法在django中获取完整的未处理的HTTP请求标头(托管在弹性beanstalk上?)

我希望能够特别分析标题的顺序,所以遗憾的HttpRequest.META是不足以满足我的用例.

sol*_*oke 5

不 - 你不能在Django级别这样做.的内容HttpRequest.META直接从WSGI处理程序得到.该对象的结构在WSGI规范中定义.

dict在Django靠近它们之前,请求头是一个偶然的 - 你的WSGI处理程序(开发中的uwsgi/gunicorn/weurkzeug)是解析头并传递dict给你的Django应用程序的东西.Django不知道原始的,原始的请求标头.

获取原始请求的唯一地方是Web服务器(Nginx/Apache等)级别.我知道您可以使用Nginx记录这些内容 - 尽管您将记录大量数据.