※環境はNode.js 12.xです
withCredentials: true
色んなサイトに書いてある方法。
const Axios = require('axios');
let client = Axios.create({ withCredentials: true });
const response1 = client.get('https://example.com/set_cookie');
console.log(response1.headers['set-cookie']); // [ 'PHPSESSID=pbjscl1plduu6npqeemep58550' ]
const response2 = client.get('https://example.com/check_cookie');
console.log(response2.indexOf('Cookie') != -1); // false
ところがこの方法ではうまく行かなかった。
axios-cookiejar-support
CookieJarと呼ばれるCookie処理バックエンドを組み込む方法。
まずはプラグインをインストールする。
npm install axios-cookiejar-support
そして実際にリクエストしてみる。
const Axios = require('axios').default;
const AxiosCookiejarSupport = require('axios-cookiejar-support').default;
// Axiosにプラグイン注入
AxiosCookiejarSupport(Axios);
let client = Axios.create({
jar: true, // cookiejarを有効化する
withCredentials: true, // 依然として必要
});
const response1 = client.get('https://example.com/set_cookie');
console.log(response1.headers['set-cookie']); // [ 'PHPSESSID=pbjscl1plduu6npqeemep58550' ]
const response2 = client.get('https://example.com/check_cookie');
console.log(response2.indexOf('Cookie') != -1); // true
うまく行ったらしい。
詳しい使い方はaxios-cookiejar-supportを参照。