Rett-oo
@Rett-oo

Как узнать на каком этапе присваиваются cookies?

Подскажите пожалуйста, как можно узнать, на каком этапе присваиваются cookies?
Есть обычный запрос
cookies = {
    # cookies here
}
headers = {
   # headers here
}
json_data = {
    'params': {
        'pageNumber': 1,
        'pageSize': 1000,
        'sortBy': 'createDate',
        'sortDirection': 'desc',
        'statusId': -2,
    },
    'jsonrpc': '2.0',
    'id': 'json-rpc_16',
}
response = requests.post(
    'https://seller-supply.wildberries.ru/ns/sm-supply/supply-manager/api/v1/supply/listSupplies',
    cookies=cookies,
    headers=headers,
    json=json_data,
)

Проблема в том, что в cookies есть ключи/токены которые обновляются через некоторое время, было бы неплохо понять на каком этапе присваиваются эти ключи и перезаписать имеющиеся куки на новые. Готового решения я не жду, но был бы рад если кто-нибудь объяснит как в принципе присваиваются куки и как можно это отследить(и можно ли вообще)
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
было бы неплохо понять на каком этапе присваиваются эти ключи и перезаписать имеющиеся куки на новые

Можно сравнивать старые с новыми печеньками, т.к. у нас python в тегах, то буду использовать лишь его (а не внешние инструменты):
import requests
from http.cookiejar import CookieJar

# initial cookies
initial_cookies = {}

session = requests.Session()
session.cookies = CookieJar()

# set cookies
session.cookies.update(initial_cookies)

# post
response = session.post(
    'https://seller-supply.wildberries.ru/ns/sm-supply/supply-manager/api/v1/supply/listSupplies',
    headers=headers,
    json=json_data,
)

# get updated cookies
updated_cookies = session.cookies.get_dict()

# check new cookies
if initial_cookies != updated_cookies:
    print("Свежее печенье.")
    print("Старье:", initial_cookies)
    print("Новье:", updated_cookies)
else:
    print("Свежее печенье не завозилось, расходимся.")

был бы рад если кто-нибудь объяснит как в принципе присваиваются куки

1. Запрос к серверу > возврат данных (html, json итп.) + возврат печенек (заголовок Set-Cookie).
2. Повторный запрос (повторяем п1), но уже с печеньками. Если сервер сочтет, что пора обновить печеньки (авторизация, например), то вернет новые с заголовком Set-Cookie, соответственно приложение (отправившее запрос) мониторит такой заголовок.
HTTP-куки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы