Блог

Python/Django: META данные браузера

HttpRequest.META – это словарь содержащий все доступные HTTP заголовки запроса. Доступные заголовки зависят от сервера и клиента.

Чтобы вывести список можно сделать вот так:

def some_page(request):
   html = []
   for k, v in request.META.items():
      html.append("%s\t%s"%(k, v))

   return HttpResponse(html)

Краткое описание того, что в результате мы получим:

CONTENT_LENGTH – размер содержимого запроса (содержимое учитывается как строка).
CONTENT_TYPE – MIME-тип содержимого запроса.
HTTP_ACCEPT_ENCODING – принимаемые кодировки ответа.
HTTP_ACCEPT_LANGUAGE – принимаемые языки ответа.
HTTP_HOST – заголовок HTTP Host отсылаемый клиентом.
HTTP_REFERER – Ссылающаяся страница, если определена.
HTTP_USER_AGENT – Строка “user-agent” клиента.
QUERY_STRING – Строка запроса, не обработаная.
REMOTE_ADDR – IP-адрес клиента.
REMOTE_HOST – имя хоста клиента.
REMOTE_USER – пользователь аутентифицированный Web-сервером, если определен.
REQUEST_METHOD – Метод запроса. Строка, например, “GET” или “POST”.
SERVER_NAME – имя хоста сервера.
SERVER_PORT – Порт сервера(строка).

Объект HttpRequest очень содержательный и стоит его узнать по ближе, он содержит так же GET, POST, REQUEST, COOKIES, FILES и т.д. здесь можно узнать по больше.