Я пытаюсь создать скрипт Python для запросов, который добавит в корзину и в итоге оформит заказ. Я сделал запрос на почту
(https://yeezysupply.com/cart/add.js), который является конечной точкой добавления в корзину, которую я нашел на странице инструментов разработчика chrome для сетей. Он имеет полезную нагрузку json с 3 словарями. Идентификатор - это идентификатор варианта продукта, свойства которого я не знаю что это так, я оставил это поле пустым, и количество. Я ввел данные в качестве параметра, когда я сделал запросы Post. Я получил ошибку ответа 400. Когда я печатал текст запроса, ничего не было добавлено в мою корзину, и я получил это .
{
"status":"bad_request",
"message":"expected String to be a Hash: properties",
"description":"expected String to be a Hash: properties"
}
Я довольно новичок в запросах, поэтому я не уверен, что означает ошибка.
Я смог подтвердить, что ничего не было добавлено в мою корзину, потому что я сделал запросы на получение в конечную точку корзины shopify (https://yeezysupply.com/cart.json). Когда я распечатываю запросы на получение, я получаю это.
{
"token":"cb67e6c53c63b930b4aca1eb3b5a7510",
"note":null,
"attributes":{
},
"original_total_price":0,
"total_price":0,
"total_discount":0,
"total_weight":0.0,
"item_count":0,
"items":[
],
"requires_shipping":false,
"currency":"USD",
"items_subtotal_price":0,
"cart_level_discount_applications":[
]
}
Это подтвердило, что в мою корзину ничего не добавлено Кто-нибудь знает, что я делаю не так? Продукт, который я использовал для тестирования: (https://yeezysupply.com/products/flannel-lined-canvas-jacket-medium-blue?c=%2Fcollections%2Fwomen)
Я попытался создать сеанс глобальных запросов, чтобы узнать, нужны ли мне файлы cookie. Это тоже не сработало.
import requests
from bs4 import BeautifulSoup as soup
session = requests.Session()
atc_endpoint = 'https://yeezysupply.com/cart/add.js'
atc_info = {
"id": "1457089478675",
"properties": "{}",
"quantity": "1"
}
def add_to_cart():
pass
atc_post = session.post(atc_endpoint, data=atc_info)
atc_get = session.get('https://yeezysupply.com/cart.json')
print(atc_post.text)
Я пытался использовать заголовки, я использовал заголовки = {"Content-Type": "application / json"}
Я получил следующую ошибку:
{
"error":"822: unexpected token at 'id=1457089478675\u0026properties=%7B%7D\u0026quantity=1'"
}
Я не уверен, какой маркер запрашивает API.
Я ожидаю, что товар будет в моей корзине и показан в тексте запроса на получение.