Add tough-cookie
support to axios
.
$ npm i axios tough-cookie axios-cookiejar-support
-- OR --
$ npm i axios tough-cookie @3846masa/axios-cookiejar-support # Same as above
If you want to use it with TypeScript, add @types/tough-cookie
.
npm i @types/tough-cookie
const axios = require('axios').default;
const axiosCookieJarSupport = require('axios-cookiejar-support').default;
const tough = require('tough-cookie');
axiosCookieJarSupport(axios);
const cookieJar = new tough.CookieJar();
axios
.get('https://google.com', {
jar: cookieJar, // tough.CookieJar or boolean
withCredentials: true, // If true, send cookie stored in jar
})
.then(() => {
console.log(cookieJar);
});
See examples.
axios@>=0.19.0
cannot assign defaults.jar
via axios.create()
before wrapping instance.
When you want to set defaults.jar
, please set directly after wrapping instance.
const axios = require('axios').default;
const axiosCookieJarSupport = require('axios-cookiejar-support').default;
const tough = require('tough-cookie');
const instance = axios.create({
// WARNING: This value will be ignored.
jar: new tough.CookieJar(),
});
// Set directly after wrapping instance.
axiosCookieJarSupport(instance);
instance.defaults.jar = new tough.CookieJar();
c.f.) https://github.com/mzabriskie/axios#request-config
{
// `jar` is tough.CookieJar instance or boolean.
// If true, axios create CookieJar automatically.
jar: undefined, // default
// Silently ignore things like parse cookie errors and invalid domains.
// See also https://github.com/salesforce/tough-cookie
ignoreCookieErrors: false // default
// **IMPORTANT**
// If false, axios DONOT send cookies from cookiejar.
withCredentials: false // default
}
Running on browser, this library becomes noop (config.jar
might be ignored).
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Paypal.me (Onetime donate)