Я не могу получить срок действия файла cookie в торнадо. Может ли кто-нибудь узнать об этом?Получается, что tornado cookie истекает в фоновом режиме
Примечание: get_cookie и get_secure_cookie используется для получения значения куки
Я не могу получить срок действия файла cookie в торнадо. Может ли кто-нибудь узнать об этом?Получается, что tornado cookie истекает в фоновом режиме
Примечание: get_cookie и get_secure_cookie используется для получения значения куки
Tornado использует http.cookies.Cookie.SimpleCookie
для разбора куки в заголовке запроса. Это создает словарь http.cookies.Morsel
экземпляров (https://docs.python.org/3/library/http.cookies.html?highlight=cookies#morsel-objects), которые содержат информацию о каждом файле cookie.
Вы можете получить доступ к списку печенья против ваших RequestHandler
«ы request
собственности, например:
class MyHandler(RequestHandler):
def get(self):
for cookie_key in self.request.cookies.keys():
cookie = self.request.cookies[cookie_key]
print(cookie_key, cookie['expires'], cookie.output())
Я проверил это на экземпляре торнадо работает локально, и это делает выходные сведения о куках на консоль , однако дата expires
не передается браузером (хром) в запросе на сервер и поэтому не может быть восстановлена.
Я не вижу никакого гарантированного способа извлечения информации о expires
дате таким образом, вы могли бы извлечь expires
даты (который доступен на стороне клиента) и сохранить его в качестве дополнительных куков потенциально использовать JavaScript (например my_cookie
имеет значение, а my_cookie_expires
имеет дату expires
для my_cookie
). Я уверен, что это не идеальное решение, но в зависимости от того, насколько критично решение этой проблемы, это может быть вариант.
С обычными кукисами вы не можете прочитать время истечения срока действия - оно просто не отправляется как часть протокола cookie. Все, что вы получаете, это ценность. Это значение, однако, может быть любым, что вы хотите, поэтому вы можете закодировать время истечения срока действия в значение, чтобы сделать его доступным на сервере (это то, что делают безопасные файлы cookie от Tornado, хотя время истечения срока его использования не распространяется на приложение) , Я рекомендую json-encoding словарь, чтобы сделать значение cookie.