Как удалить cookies в python 3?

305 просмотра
0
0 Комментариев

Есть сайт на питоне, где можно авторизоваться, после авторизации создается куки, появится кнопка выхода (при нажатии откроется отдельная страница, которая уничтожает куки и перенаправляет на главную страницу).

Код создания куки:

a = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
name = a.get("name")
d = formatdate(localtime=True)
setc = "Set-cookie: name='value'; expires={0}".format(d)
print(setc)


Добавить комментарий

1 Ответы

Python Опубликовано 12.12.2018
0

Задайте ей неверное значение и установите Expires атрибут на дату из прошлого:

>>> from http.cookies import SimpleCookie
>>> ck = SimpleCookie()
>>> ck['name'] = 'invalid'
>>> ck['name']['Domain'] = 'example.com'
>>> ck['name']['Path'] = '/'
>>> ck['name']['Expires'] = 'Thu, 01 Jan 1970 00:00:00 GMT' # from the past
>>> str(ck)
'Set-Cookie: name=invalid; Domain=example.com; expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/'

Код предполагает, что invalid это неверное значение для данной cookie и поэтому не будет путаницы, даже если User-Agent проигнорирует Expires атрибут. Идея из ответа @Lekensteyn из похожего вопроса на Stack Overflow.

Чтобы Set-Cookie имело эффект, Domain и Path должны соответствовать для соответсвующего cookie (в данном случае с именем name).

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up