Got'un agent nesnesi hedef protokole göre anahtarlanır. Bu yüzden bir HTTPS URL için SOCKS bağlantısı socks adlı yeni bir anahtarın değil, https altında yer alır.

HTTP/1 yolunda Got ve socks-proxy-agent kullanan mevcut bir ESM uygulaması için:

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 proxy listesi, örnekteki hesapsız proxy URL'si için adaylar sağlar. Aynı ajan gösterilen HTTP ve HTTPS girdilerini işleyebilir. SOCKS bağlantısını kurar, ardından HTTPS yolu hedefle TLS el sıkışmasını gerçekleştirir.

Bu ajanda socks5h hedef ana bilgisayar adının çözümlenmesini SOCKS proxy'sine bırakır. socks5 ise yerel çözümlemeyi seçer. Proxy'nin kendi ana bilgisayar adına yine de Node sürecinden erişilebilmesi gerekir.

Got'un HTTP/2 ajan yuvası farklı bir arabirim bekler. Bu ajanı agent.http2 içine kopyalayıp HTTP/2 proxy desteği sunduğunu varsaymayın.

Yapılandırılmış ajanı iş yükü için yeniden kullanın ve sahibi kapandığında onu yok edin. Paket sürümlerini uygulamanın Node çalışma ortamıyla eşleştirin; bu örnek adlandırılmış SocksProxyAgent dışa aktarımını kullanır.

İlgili makaleler