=====node-cookie-proxy-agent===== Агенты HTTP и HTTPS с поддержкой файлов cookie и прокси. Поддерживаются HTTP(s) и SOCKS(v4/v5). ====использование==== Пример с axios с HTTP-прокси: import axios from 'axios'; import { HttpCookieProxyAgent, HttpsCookieProxyAgent } from 'node-cookie-proxy-agent'; import { CookieJar } from 'tough-cookie'; // HTTP(s) proxy (async () => { // initialise this first const jar = new CookieJar(); const proxy = 'http://127.0.0.1:8888'; // or http://id:password@127.0.0.1:8888 to use with authentication const httpAgent = new HttpCookieProxyAgent(jar, proxy); const httpsAgent = new HttpsCookieProxyAgent(jar, proxy); // add your agents to your http client const axiosClient = axios.create({ httpAgent, httpsAgent }); console.log('result: ', (await axiosClient.get('https://api.ipify.org?format=json')).data); })().catch(err => console.error(err)); Пример с axios с прокси SOCKS: import axios from 'axios'; import { SocksCookieProxyAgent } from 'node-cookie-proxy-agent'; import { CookieJar } from 'tough-cookie'; // SOCKS proxy (async () => { // initialise this first const jar = new CookieJar(); const agent = new SocksCookieProxyAgent(jar, 'socks://127.0.0.1:8888'); // add your agent to your http client const axiosClient = axios.create({ httpAgent: agent, httpsAgent: agent }); console.log('result: ', (await axiosClient.get('https://api.ipify.org?format=json')).data); })().catch(err => console.error(err)); пример с установкой cookie и организацией модульности require const axios = require("axios"); const { HttpCookieProxyAgent, HttpsCookieProxyAgent } = require('node-cookie-proxy-agent'); const { Cookie, CookieJar } = require('tough-cookie'); const proxy = 'http://AYhDKGiD:JdGhYgxD@31.184.199.203:53294'; // or http://id:password@127.0.0.1:8888 to use with authentication const cookie = new Cookie(); cookie.key = 'test'; cookie.value = 'somethingdifferent'; const jar = new CookieJar(); jar.setCookie(cookie, 'https://api.ipify.org', () => { }); const httpAgent = new HttpCookieProxyAgent(jar, proxy); const httpsAgent = new HttpsCookieProxyAgent(jar, proxy); async function start() { console.log(httpAgent); const { data } = await axios.get('https://api.ipify.org?format=json',{ httpAgent, httpsAgent, timeout: 60000, }); console.log(data); } start().then(() => console.log('complete'));