Войдите в систему как клиент 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, цель здесь - войти в систему с помощью какого-либо клиента и оставить сеанс открытым. Что-то мне здесь не хватает?

0 ответов

Другие вопросы по тегам