شیء agent در Got بر اساس پروتکل مقصد کلید‌بندی می‌شود. بنابراین اتصال SOCKS برای یک نشانی HTTPS زیر https قرار می‌گیرد، نه زیر کلید تازه‌ای به نام socks.

برای یک برنامه ESM موجود که از Got و socks-proxy-agent در مسیر HTTP/1 استفاده می‌کند:

import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';

const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
  http2: false,
  agent: {
    http: agent,
    https: agent,
  },
  timeout: {request: 20000},
}).text();

فهرست پروکسی SOCKS5 نامزدهایی برای نشانی پروکسی بدون حساب نمونه فراهم می‌کند. همان عامل می‌تواند ورودی‌های HTTP و HTTPS نشان‌داده‌شده را مدیریت کند. اتصال SOCKS را برقرار می‌کند و سپس مسیر HTTPS دست‌دادن TLS با مقصد را انجام می‌دهد.

در این عامل، socks5h تشخیص نام میزبان مقصد را به پروکسی SOCKS واگذار می‌کند. socks5 در عوض تشخیص محلی را انتخاب می‌کند. نام میزبان خود پروکسی همچنان باید از فرایند Node قابل دسترسی باشد.

جایگاه عامل HTTP/2 در Got رابط دیگری انتظار دارد. این عامل را در agent.http2 کپی نکنید و فرض نکنید که پشتیبانی پروکسی HTTP/2 ارائه می‌دهد.

از عامل پیکربندی‌شده برای بار کاری دوباره استفاده کنید و وقتی مالکش خاموش می‌شود آن را از بین ببرید. نسخه‌های بسته را با محیط اجرای Node برنامه هم‌تراز کنید؛ این نمونه از خروجی نام‌دار SocksProxyAgent استفاده می‌کند.

مقالات مرتبط