Я пытаюсь купить товар на внешнем веб-сайте , используя их частный API и модуль запросов python.Проблема заключается в том, что для данных формы запроса требуется, чтобы элементы корзины, которые я в основном строю вручную, были точно такими же, как их сделала бы корзина, насколько я могу судить, они точно такие же.Когда я отправляю запрос, я получаю сообщение об ошибке от сервера, в котором говорится, что на нем нет элементов корзины.
Я попытался сопоставить кодировку заголовков (исходный запрос использует application / x-www-form-urlencoded), используя запросы JSON kwarg вместо данных, а также добавляя элементы в корзину вручную, выбирая их, а затем отправляя их.Я думаю, может быть, мне сначала нужно их кодировать, но я понятия не имею, к чему.
Вот какой-то код
login_data = {'email': 'email', 'password': 'password123'}
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/74.0.3729.157 Safari/537.36',
'Content-type': 'application/x-www-form-urlencoded'}
s = requests.Session()
login_response = s.post(url, data=login_data, headers=headers) # login
data_charge = {'cartItems':[cartItems], # This is a list of dicts
'key': 'licensing',
'nonce': credit_card_token, # I have to get the card token which works fine
'cardholder': 'John Smith'}
purchase_response = s.post(url_charge, data=data_charge, headers=headers)
Возвращает контент purchase_response.json () "content ": [{" error ":" Элементы корзины не отправлены. "}].Он должен ответить номерами заказов и всеми предметами, которые были приобретены.
Дайте мне знать, если я упускаю какие-либо важные детали.Спасибо!