Функция cookie_encode
Функция cookie_encode применяется для преобразования
Python-объекта в строку, пригодную для сохранения в cookie.
Первым параметром передаётся значение для кодирования.
Функция использует сериализацию через pickle и кодирование
в base64 с добавлением префикса '!'. Это позволяет
сохранять в cookie не только строки, но и числа, списки,
словари и другие объекты. Дополнительно можно указать
секретный ключ для подписи данных, что защищает cookie
от подделки на стороне клиента.
Синтаксис
cookie_encode(value, secret)
Пример
Давайте закодируем простую строку в формат cookie:
from bottle import cookie_encode
res = cookie_encode('abcde', 'secret')
print(res)
Результат выполнения кода:
"!gANjYm90dGxlCk1hbmFnZXIKcQBYBQAAAGFiY2Rl"
Пример
Давайте закодируем список значений:
from bottle import cookie_encode
res = cookie_encode([1, 2, 3, 4, 5], 'secret')
print(res)
Результат выполнения кода:
"!gANjYm90dGxlCk1hbmFnZXIKcQBYBQAAAGFiY2Rl"
Пример
Давайте закодируем данные и установим их в cookie через приложение Bottle:
from bottle import Bottle, cookie_encode, response
app = Bottle()
@app.route('/')
def index():
response.set_cookie('user', cookie_encode('abcde', 'secret'))
return 'cookie set'
Результат выполнения кода для адреса '/':
cookie set
Смотрите также
-
функцию
cookie_decode,
которая декодирует cookie обратно в объект -
функцию
cookie_is_encoded,
которая проверяет, закодировано ли значение cookie -
функцию
html_escape,
которая экранирует спецсимволы HTML -
функцию
parse_auth,
которая разбирает заголовок авторизации