Интеграции · Начинаещ

Как да използваме проксита в Нод.Джес с изтегляне, ундици, аксиос и получи

На поддържаните версии на Node.js, NODE_USE_ENV_PROXY=1 позволява HTTP_PROXy, HTTPS_PROXI и NO_PROXИ за вградено извличане; --use-env-прокси е достъпен в Node.JS 22.21+ и 24.5+. Изрично неизвестно ПроксиАгент или EnvHttpProxyAgent е алтернатива. Библиотеките със собствен транспорт или потребителски агенти се нуждаят от отделна конфигурация, така че тествайте всеки инструмент, а не да приемате, че целият процес е покрит.

2 мин. четене 6 секции Преглед Редакционен екип на БГНЕС Proxy Cyber

Вграден извличане и уници#

Възелът е глобален fetch Дай му шанс. ProxyAgent по заявка с пълното dispatcher опция, или да го зададете глобално веднъж с setGlobalDispatcher.

единадесет
import { fetch, ProxyAgent, setGlobalDispatcher } from "undici";

const proxy = new ProxyAgent("http://USER-cc-us:PASS@res.proxy-cyber.com:9000");

// Per request
const res = await fetch("https://api.ipify.org", { dispatcher: proxy });
console.log(await res.text());

// Or globally, for every fetch in the process
setGlobalDispatcher(proxy);

A ProxyAgent За свеж изход на заявка създайте агента с следните данни: име, адрес, имейл адрес и парола. pipelining: 0 и connections: 1, или просто използвайте различен -sid- за логическа сесия.

оси#

собствена на Аксиос proxy Опцията не тунелира надеждно; стандартният подход е агент от https-proxy-agent и proxy: false.

оси
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";

const agent = new HttpsProxyAgent("http://USER-cc-de-city-berlin-sid-cart42-ttl-15m:PASS@res.proxy-cyber.com:9000");
const client = axios.create({ httpsAgent: agent, httpAgent: agent, proxy: false, timeout: 30000 });

const { data } = await client.get("https://api.ipify.org");
console.log(data);

Имам#

Имам
import got from "got";
import { HttpsProxyAgent } from "https-proxy-agent";

const agent = new HttpsProxyAgent("http://USER-cc-us:PASS@res.proxy-cyber.com:9000");
const body = await got("https://api.ipify.org", { agent: { https: agent, http: agent }, timeout: { request: 30000 } }).text();
console.log(body);

SOCKS5#

Прокси агент
import fetch from "node-fetch";
import { SocksProxyAgent } from "socks-proxy-agent";

const agent = new SocksProxyAgent(process.env.PROXY_URL);
const response = await fetch("https://api.ipify.org", { agent });
console.log(await response.text());

Променливи на околната среда#

Не чете. HTTPS_PROXY По подразбиране. Последните единадесет версии се доставят EnvHttpProxyAgent, което прави; зададете го като глобален диспечер и целият процес, включително библиотеки на трети страни, изградени върху изтегляне, преминава през проксито.

Обратно към началната страница
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
// HTTPS_PROXY=http://USER-cc-us:PASS@res.proxy-cyber.com:9000 NO_PROXY=localhost node app.js
setGlobalDispatcher(new EnvHttpProxyAgent());

Едновременност и ротация#

  • Едно. ProxyAgent за лепкава сесия (различни -sid-), споделен от всички заявки на тази сесия.
  • За широко ротация, запазете един агент, но забранете повторното използване на връзката или стартирайте Н агенти с идентификатори на сесии и ги кръгово.
  • Гледайте. UND_ERR_SOCKET и ECONNRESET: жилищен изход отиде; опитайте отново веднъж, следващата връзка избира друга.

Въпроси, които хората задават#

Защо игнорира проксито ми за протокола?

Вградената му поддръжка на прокси е ограничена за тунели Използвайте https-прокси-агент като httpsАгент и задайте прокси: фалшиво, така че аксиос не се опитва да го обработва сам.

Мога ли да прокси само някои заявки?

Да. Предайте на диспечера или агента заявките, които се нуждаят от това и оставете останалите недокоснати; нищо не е глобално, освен ако не извикате За да направите това, трябва да използвате командата за задаване на глобален диспечер.

Вашият акаунт »

Управлявайте всички свои проксита от един акаунт

Сравнете мрежи, направете поръчки и следете баланса си и заявките за поддръжка от едно табло Нашият екип преглежда плащанията и предоставя подробности за връзката след доставката.

Създай акаунт