Я экспериментировал с использованием Node JS для создания веб-страниц с использованием запроса-обещания, но недавно я обнаружил, что при попытке создать сеанс запроса с использованием одного и того же файла cookie для каждого запроса сеанс запроса не сохраняется.Вот мой код:
var rp = require('request-promise'); //requests module
var jssoup = require('jssoup').default; //crawler
global.useragent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)';
function kithCheckoutLink(bypass, link){
var cookiejar = rp.jar()
if (bypass == 1){
global.options = {
uri: 'https://kith.com/cart/18914757476421:1',
jar: cookiejar,
followAllRedirects: true,
headers:{
'User-Agent':useragent
},
}
console.log(options.uri);
bypassrequest = rp.get(options, function(error, response){
var bypasslink = bypassrequest.uri.href;
console.log(bypasslink);
options.uri = 'https://kith.com/cart/change?line=1&quantity=0';
removerequest = rp.get(options, function(error, response){
console.log(removerequest.uri.href);
});
});
}
};
kithCheckoutLink(1, 'www.google.com');
Итак, когда я запускаю код, все работает нормально до второго запроса GET.Я получаю огромную ошибку «неверный запрос», говорящую «невозможно обновить пустую корзину».Дело в том, что с первым GET-запросом я успешно добавил товар в корзину на веб-сайте, и консоль регистрирует ссылку оформления заказа, чтобы доказать это.Я даже попробовал это вручную, используя мой браузер Chrome, и у меня не было проблем с очисткой корзины.Это означает, что проблема должна заключаться в том, что файлы cookie не передаются на каждый запрос, как если бы файлы cookie передавались, я не получил бы ошибку, так как моя корзина уже была пуста заранее, так как я только что добавил продукт в корзину.Что я тут не так делаю?