django 获得请求头
Posted ywhyme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 获得请求头相关的知识,希望对你有一定的参考价值。
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:
CONTENT_LENGTH
-- The length of the request body (as a string).CONTENT_TYPE
-- The MIME type of the request body.HTTP_ACCEPT
-- Acceptable content types for the response.HTTP_ACCEPT_ENCODING
-- Acceptable encodings for the response.HTTP_ACCEPT_LANGUAGE
-- Acceptable languages for the response.HTTP_HOST
-- The HTTP Host header sent by the client.HTTP_REFERER
-- The referring page, if any.HTTP_USER_AGENT
-- The client‘s user-agent string.QUERY_STRING
-- The query string, as a single (unparsed) string.REMOTE_ADDR
-- The IP address of the client.REMOTE_HOST
-- The hostname of the client.REMOTE_USER
-- The user authenticated by the Web server, if any.REQUEST_METHOD
-- A string such as"GET"
or"POST"
.SERVER_NAME
-- The hostname of the server.SERVER_PORT
-- The port of the server (as a string).
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 的翻译如下:
包含所有可用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。
以上是关于django 获得请求头的主要内容,如果未能解决你的问题,请参考以下文章