التكامل · مبتدئ

كيف تستخدم المحترفين في (نودج) مع الجلبة، و الأكسيّة، وحصلت على

وعند إصدارات النودج يُدعم بها، يُمكِّن البرنامج الوطني لدراسات النبض (NODE USE ENV PROXY=1) شركة HTTP PROXY وHTTPS PROXY وNO PROXY (NO-PROXY) من أجل الجلبة البنّية؛ ويُتاح في نود - يُفترض أن يكون كل من عوامل النقل البديلة غير الرسمية.

2 دقيقة قراءة 6 أقسام تمت المراجعة فريق التحرير Proxy Cyber

المدمج في جلب وundici#

العقدة العالمية fetch هو undici. أعطها أ ProxyAgent لكل طلب مع dispatcher الخيار، أو قم بتعيينه عالميًا مرة واحدة باستخدام setGlobalDispatcher.

undici
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؛ والنهج المعياري هو عامل من 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);

الجوارب5#

بروكسي الجوارب
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());

متغيرات البيئة#

undici لا يقرأ HTTPS_PROXY بواسطة التخلف عن الدفع سفينة نسخ غير رسمية EnvHttpProxyAgentوهذا ما يُحدث؛ إذ أن تحديدها على أنها المرسل العالمي والعملية برمتها، بما في ذلك مكتبات الأطراف الثالثة التي تُبنى على الجلبة، يُعبر عن طريق البروكسي.

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-)، تشاطره جميع طلبات تلك الدورة.
  • للتناوب الواسع، الاحتفاظ بوكيل واحد ولكن لا يمكن ربطه، أو تشغيل وكلاء N مع ids الدورة N وجولة.
  • شاهد UND_ERR_SOCKET و ECONNRESETمخرج سكني ذهب، وعاد مرة، وتصلة أخرى.

أسئلة يطرحها الناس#

لماذا يتجاهل (أكيوس) بروكسيي لـ (هـ.ت.ب.س)؟

ويقتصر الدعم الذي تقدمه الوكالة في مجال التصريف على الأنفاق الكونية، ويستخدم الموقع الشبكي " Proxy-agent " على العنوان التالي: httpsAgent and set proxy: false so axios does not try to handle it itself.

هل يمكنني بروكسي بعض الطلبات فقط؟

نعم، مرر المرسل أو العميل على الطلبات التي تحتاجها وترك الآخرين غير ملامسة؛ لا شيء عالمي إلا إذا ناديت (عالمي ديسباتشر)

حسابك

إدارة البروكسيات الخاصين بك في حساب واحد

مقارنة الشبكات، وتلقي الأوامر، وتتبع طلباتكم المتعلقة بالتوازن والدعم من لوحة واحدة، ويستعرض فريقنا المدفوعات ويقدم تفاصيل عن الاتصالات بعد التسليم.

إنشاء حساب