//密码加密模块
let CryptoJS = require("crypto-js");
let request = require("request");
//登陆的用户邮箱和密码
let user = {
UserName: "admin",
Password: "admin",
};
//登陆post的所有数据
let datas = {
UserName: user.UserName,
//https请求需要加密密码
// Password: CryptoJS.SHA1(user.Password).toString(),
Password: user.Password,
};
let opts = {
url: "http://localhost:5000/Login?ReturnUrl=%2F",
method: "POST",
headers: {
"User-Agent": `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36`,
},
form: datas,
};
//模拟登陆
request(opts, (e, r, b) => {
console.log(b);
let opts2 = {
url: "http://localhost:5000/",
method: "GET",
headers: {
"User-Agent": `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36`,
Cookie: r.headers["set-cookie"], //这里是登陆后得到的cookie,(重点)
},
};
request(opts2, (e2, r2, b2) => {
console.log(b2);
console.log("是否登陆成功:", b2.indexOf("<h1>Blog</h1>") > 0);
});
});
这种方式无法绕过带有token验证的form表单