当标题名称包含`_`下划线时,获取Django Header值的正确格式是什么

时间:2018-05-29 13:01:46

标签: python django python-3.x django-rest-framework django-views

我的CURL命令: -

request.META['HTTP_CLIENTDATA']

我试图获取标题数据

使用sachin

我得到的值request.META['HTTP_CLIENT_CDATA']与我尝试使*** KeyError无效时相同 它显示_错误。

当标题名称包含{{1}}时,获取标题值的正确格式是什么?

  

我无法更改标头数据,因为此API被另一个调用   域(由另一个站点或服务器提供的结果),我正在创建API   终点。

提前致谢。

1 个答案:

答案 0 :(得分:0)

假设您可能使用Nginx或Apache作为反向代理,这些服务器会删除包含下划线的标头,以避免在将此类标头映射到CGI变量时出现问题。

如果您需要支持下划线 - 听起来好像是这样,因为它们来自第三方 - 那么您必须启用支持。

适用于Nginx link

underscores_in_headers on;

适用于Apache link

SetEnvIfNoCase ^client.cdata$ ^(.*)$ fix_client_cdata=$1
RequestHeader set client-cdata %{fix_client_cdata}e env=fix_client_cdata