Обработка Cookies
Теперь научимся получать cookies.
Они передаются на сервер и доступны в переменной os.environ (словарь, cookies хранятся по ключу HTTPCOOKIE).
Они передаются в виде пар ключ=значение, что не очень удобно при обработке. Для упрощения работы можно использовать модуль http.cookies.
Напишем простой скрипт (/cgi-bin/cookie.py), проверяющий, установлена ли кука, и если нет, устанавливает:
#!/usr/bin/env python3
import os
import http.cookies
cookie = http.cookies.SimpleCookie(os.environ.get("HTTPCOOKIE"))
name = cookie.get("name")
if name is None:
print("Set-cookie: name=value")
print("Content-type: text/html\n")
print("Cookies!!!")
else:
print("Content-type: text/html\n")
print("Cookies:")
print(name.value)
Открываем страницу, запоминаем результат и обновляем страницу.
Не следует хранить в cookies важные данные, и не полагайтесь на выставленный вами срок хранения.
Cookies можно удалить или изменить вручную в браузере.
На этом 2 часть заканчивается.
Завтра будем писать прототип приложения типа "Twitter".
Теперь научимся получать cookies.
Они передаются на сервер и доступны в переменной os.environ (словарь, cookies хранятся по ключу HTTPCOOKIE).
Они передаются в виде пар ключ=значение, что не очень удобно при обработке. Для упрощения работы можно использовать модуль http.cookies.
Напишем простой скрипт (/cgi-bin/cookie.py), проверяющий, установлена ли кука, и если нет, устанавливает:
#!/usr/bin/env python3
import os
import http.cookies
cookie = http.cookies.SimpleCookie(os.environ.get("HTTPCOOKIE"))
name = cookie.get("name")
if name is None:
print("Set-cookie: name=value")
print("Content-type: text/html\n")
print("Cookies!!!")
else:
print("Content-type: text/html\n")
print("Cookies:")
print(name.value)
Открываем страницу, запоминаем результат и обновляем страницу.
Не следует хранить в cookies важные данные, и не полагайтесь на выставленный вами срок хранения.
Cookies можно удалить или изменить вручную в браузере.
На этом 2 часть заканчивается.
Завтра будем писать прототип приложения типа "Twitter".