Войдите в систему как клиент https с помощью node.js, только загружая страницу входа - PullRequest
0 голосов
/ 17 декабря 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...