Войдите в систему как клиент https с помощью node.js, только загружая страницу входа
Я пытаюсь написать скрипт, эмулирующий https-клиент для входа на веб-сайт, но, несмотря на попытки нескольких разных способов, сделанные мной звонки закончились только загрузкой страницы входа в систему и никогда фактически не выполняли действия входа (имитируя отправку формы). Я пробовал несколько библиотек, таких как request
, restler
, superagent
и родной nodejs https
без успеха.
Пробую с родным https
, он просто закончил тем, что загрузил саму страницу входа в систему:
const https = require('https');
let data = JSON.stringify({ user: "hello", passwd: "world"});
let opts = {
hostname: "localhost",
port: 433,
path: "/login",
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
rejectUnauthorized: false
}
let req = https.request(opts, (res) => {
console.log(res.statusCode); // got 200
console.log(res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.write(data);
req.end();
Пытаясь с request
опять же это просто закончилось тем, что дало страницу входа в систему:
const request = require('request');
request({
url: "https://localhost:433/login",
method: 'POST',
followAllRedirects: true,
json: true,
form: { user: "hello", passwd: "world"}
},
(err, resp, body) => {
console.log(err);
console.log(resp);
console.log(body);
})
Я новичок в nodejs, цель здесь - войти в систему с помощью какого-либо клиента и оставить сеанс открытым. Что-то мне здесь не хватает?