Не могу разобраться, как отправлять запросы магнит requests python
С помощью Burp узнал какой запрос отправляется в моб приложении Магнита при добавлении товара в корзину. Отправил тот же запрос у себя и он успешно добавился, однако, если подставить другой артикул товара, то выдает 403 ошибку, доступ запрещен.
Заметил, что при каждом новом запросе в headers меняется: 'X-Request-Sign', остальные заголовки остаются неизменными, удалил их в вопросе.
Не понимаю, как передавать этот заголовок в новый запрос, чтобы он отдал 200 статус, или это невозможно?
import requests
headers = {
'X-Request-Sign': 'e831e827c9026b44bc1fff5d0026296fa76603be7b65c799b1571d519a1ee0c0cd70b558acb1be5dff99f836e76080b97ad2aa2bfe84696d3e66bc899cb96dc4',
}
json_data = {
'items': [
{
'goodId': '1000055826',
'utm': {},
'qnty': 1,
'offerId': '1000055826',
},
],
}
response = requests.put('https://middle-api.magnit.ru/v1/carts/lite', headers=headers, json=json_data, verify=False)
Ответы (1 шт):
X-Request-Sign
- это подпись запроса, которая зависит от timestamp и/или от самого тела запроса, поэтому для каждого запроса она разная, но один такой хедер может жить какое-то время (для уникального тела) - поэтому вы получили респонз с 200, отправив еще раз запрос.
Один из способов понять как формируется X-Request-Sign
- попытаться разреверсить приложение и найти генерацию.