Я новичок в NodeJs. Я пытаюсь сделать http-запрос и передать файл cookie. Я прочитал все потоки в stackoverflow об этом и составил фрагмент кода, который должен теоретически работать. Но это не так.
То, что я пытаюсь сделать, - отправить куки файл с кодом магазина в один интернет-магазин, который покажет мне информацию об этом самом магазине. Если нет файла cookie, он показывает по умолчанию div
запрос на выбор магазина.
Вот мой код:
var request = require('request'),
http = require('follow-redirects').http,
request = request.defaults({
jar: true
});
var cookieString = 'MC_STORE_ID=66860; expires=' + new Date(new Date().getTime() + 86409000);
var str = '';
//var uri = 'example.de';
//var j = request.jar();
var cookie = request.cookie(cookieString);
j.setCookie(cookie, uri);
var options = {
hostname: 'example.de',
path: '/pathexample',
method: 'GET',
headers: {
'User-Agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Cookie': cookie,
'Accept': '/',
'Connection': 'keep-alive'
}
//,jar: j
};
http.request(options, function (resp) {
resp.setEncoding('utf8');
console.log(resp.headers);
if (resp.statusCode) {
resp.on('data', function (part) {
str += part;
});
resp.on('end', function (part) {
console.log(str);
});
resp.on('error', function (e) {
console.log('Problem with request: ' + e.message);
});
}
}).end(str);
Я предполагаю, что cookie будет отправлен и принят с моей просьбой, но это не так. Я также пробовал jar
. Я прокомментировал это в коде. Но, похоже, для меня это тоже не работает. Когда я делаю console.log(resp.headers)
, я вижу оригинальные файлы cookie, но не мои. Может ли кто-нибудь дать мне подсказку?
Структура файла cookie верна. Когда я запускаю document.cookie=cookie;
в консоли Google Chrome, он заменяется succsessfuly.