Интеграциялар · Бастауыш

Node.js-те проксиді қалай қолдануға болады, неди, аксиос және алынған

Қолдау көрсетілетін Node.js шығарылымдарында NODE_USE_ENV_PROXY=1 HTTP_PROXy, HTTPS_PROXI және NO_PROXSY кірістірілген түсірілімге мүмкіндік береді; --қолданатын env прокси Node. js 22.21+ және 24.5+ түрінде қол жетімді. Айқын udici procagent немесе EnvHTpProxyAgent балама болып табылады.Өз көліктерімен немесе тапсырыс агенттерімен бірге бөлек конфигурация қажет, сондықтан барлық құралды бүкіл процесті болжауға емес, тексеріңіз.

2 мин оқыңыз 6 бөлім Қайта қаралған Редакциялық топ Proxy Cyber

Кірістірілген жүріс және унчи#

Түйіннің жаһандық fetch Оны бер. ProxyAgent бірге сұрау үшін dispatcher опция немесе оны бүкіл әлем бойынша бір рет орнату setGlobalDispatcher.

Unici
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- логикалық сессия үшін.

Axios#

Axios-тің өзі proxy опция HTTPS сенімді туннельдеу емес,; стандартты тәсіл агент болып табылады https-proxy-agent және proxy: false.

Axios
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());

Қоршаған орта айнымалылары#

unici оқымайды HTTPS_PROXY әдепкі бойынша. Соңғы унчи нұсқалары кеме EnvHttpProxyAgent, бұл жасайды; оны жаһандық диспетчер және бүкіл процесс ретінде орнатыңыз, оның ішінде элетке салынған үшінші тарап кітапханалары прокси арқылы өтеді.

EnvHTpProxyAgent
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-), сол сессияның барлық сұрауларымен бөлісті.
  • Кең айналдыру үшін бір агентті сақтаңыз, бірақ қосылымды қайта пайдалануды өшіріңіз немесе N сеанс идентификаторлары бар N агенттерін іске қосыңыз және оларды дөңгелек бекітіңіз.
  • Көру UND_ERR_SOCKET және ECONNRESET: тұрғын үйге шығу кетті; бір рет қайталап көріңіз, келесі қосылым басқасын таңдайды.

Адамдар қоятын сұрақтар#

Неліктен осьтер HTTPS үшін менің проксиімді елемейді?

Оның кірістірілген прокси қолдауы CONNECT туннельдері үшін шектеулі. https-прокси-агентті https Агент ретінде пайдаланыңыз және прокси орнатыңыз: жалған, сондықтан осьтер оны өзі өңдеуге тырыспайды.

Мен кейбір сұрауларды ғана сұрай аламын ба?

Диспетчерді немесе агентті қажет сұрауларға өткізіп, басқаларды қараусыз қалдырыңыз; GlobalDisper деп атамайынша, жаһандық ештеңе жоқ.

Сіздің шотыңыз

Барлық проксилерді бір аккаунттан басқарыңыз

Желілерді салыстырыңыз, тапсырыстарды орналастырыңыз және бір бақылау тақтасынан теңгерім мен қолдау сұрауларын орындаңыз.Біздің команда төлемдерді қарайды және жеткізілімнен кейін байланыс мәліметтерін ұсынады.

Аккаунт ашу