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