django 获得请求头

时间:2018-07-11 13:15:46   收藏:0   阅读:125

django 获得到的请求头封装在 request 的 META 中,为一个 dict

以下选自官方文档:

https://docs.djangoproject.com/zh-hans/2.0/ref/request-response/#django.http.HttpRequest.META

HttpRequest.META?

A dictionary containing all available HTTP headers. Available headers depend on the client and server, but here are some examples:

With the exception of CONTENT_LENGTH and CONTENT_TYPE, as given above, any HTTP headers in the request are converted to META keys by converting all characters to uppercase, replacing any hyphens with underscores and adding an HTTP_ prefix to the name. So, for example, a header called X-Bender would be mapped to the META key HTTP_X_BENDER.

2.4+.

Google 的翻译如下:

HttpRequest.META?
包含所有可用HTTP标头的字典。可用的头文件取决于客户端和服务器,但以下是一些示例:

CONTENT_LENGTH - 请求正文的长度(作为字符串)。
CONTENT_TYPE - 请求正文的MIME类型。
HTTP_ACCEPT - 响应的可接受内容类型。
HTTP_ACCEPT_ENCODING - 响应的可接受编码。
HTTP_ACCEPT_LANGUAGE - 响应的可接受语言。
HTTP_HOST - 客户端发送的HTTP主机头。
HTTP_REFERER - 引用页面(如果有)。
HTTP_USER_AGENT - 客户端的用户代理字符串。
QUERY_STRING - 查询字符串,作为单个(未解析)字符串。
REMOTE_ADDR - 客户端的IP地址。
REMOTE_HOST - 客户端的主机名。
REMOTE_USER - Web服务器验证的用户(如果有)。
REQUEST_METHOD - 诸如“GET”或“POST”之类的字符串。
SERVER_NAME - 服务器的主机名。
SERVER_PORT - 服务器的端口(作为字符串)。
除了上面给出的CONTENT_LENGTH和CONTENT_TYPE之外,请求中的任何HTTP头都将转换为META密钥,方法是将所有字符转换为大写,用下划线替换任何连字符,并在名称中添加HTTP_前缀。因此,例如,名为X-Bender的标头将映射到META密钥HTTP_X_BENDER。

 

原文:https://www.cnblogs.com/ywhyme/p/9293672.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!