node 做爲客戶端模擬用戶登陸

背景:項目中須要用 node 做爲客戶端發送請求,可是須要登陸認證後才能發送請求。平時,咱們都是經過瀏覽器的 cookie 服務端去判斷登陸狀態,那麼如何用 node 模擬用戶登陸,請求攜帶 cookie 信息?node

解決方法:瀏覽器

1.模擬用戶在客戶端登陸獲取 cookiebash

let request = require('request');
//登錄post地址
let url = '......../login'; // login 請求地址

//登錄的用戶名和密碼
let user = {
  username: 'xxx',
  password: 'xxx'
};

//設置頭部 (模擬瀏覽器請求)
let 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`,
};

let opts = {
  url: url,
  method: 'POST',
  headers: headers,
  form: user,
};

//模擬登錄
request(opts, (e, r, b) => {
  console.log(r.headers['set-cookie']); //這裏是登錄後獲得的cookie,(重點)
});
複製代碼

2.發送請求攜帶 cookie 信息cookie

var request = require('request');

let opts = {
  url: 'xxxxx', // 請求 url
  headers: {
    Cookie: 剛剛獲取到的 cookie 值,
  }
};

request(opts, function(error, response, body) {})複製代碼

ok!大功告成~post

參考連接ui

相關文章
相關標籤/搜索