Я вошел на сайт Walmart, и у меня есть корзина для покупок. Когда я добавляю товары в свою корзину, я делаю запрос PUT
PUT запрос изображения - https://i.imgur.com/f9lWqbC.png
и вот так я добавляю товар в корзину.
Теперь, чтобы добраться до сути этого поста. Я пишу расширение для Firefox, а главное - content_script
. Основная функция скрипта - сделать такой же запрос, как если бы я нажал кнопку Add to cart
на странице Walmart, но я не знаю, как отправить все эти учетные данные, которые можно найти в заголовках запросов.
Очевидно, у меня есть права на отправку правильного запроса, но это только нажатием на кнопку, и моя цель - отправить его через content_script
(или фоновый скрипт) с моим расширением.
content_script.js
(function(){
var params = {"cartItems":[{"offerId":"8E5AE39B44CD467DAC4AAA3A0042110F","quantity":3}]}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
var res = JSON.parse(xhttp.responseText);
console.log(res);
}
};
xhttp.open("PUT", "https://grocery.walmart.com/api/v3/cart/:GCRT/items", true);
xhttp.withCredentials = true;
xhttp.setRequestHeader("Content-Type", "application/json; charset=utf-8");
xhttp.send(JSON.stringify(params));
})();
Как видите, у меня xhttp.withCredentials
установлено значение true
, но это не работает, потому что я ничего не получаю на своей консоли.
Правильный вопрос: как доказать Walmart, что этот запрос все еще поступает с моего ПК и моей учетной записи?