Got का agent ऑब्जेक्ट गंतव्य प्रोटोकॉल से कुंजीबद्ध होता है। इसलिए HTTPS URL के लिए SOCKS कनेक्शन socks नाम की नई कुंजी के बजाय https के अंतर्गत आता है।

HTTP/1 पथ पर Got और socks-proxy-agent उपयोग करने वाले मौजूदा ESM ऐप्लिकेशन के लिए:

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 प्रॉक्सी सूची उदाहरण के बिना-खाता प्रॉक्सी URL के लिए उम्मीदवार देती है। वही एजेंट दिखाई गई HTTP और HTTPS प्रविष्टियाँ संभाल सकता है। यह SOCKS कनेक्शन स्थापित करता है, फिर HTTPS पथ गंतव्य के साथ TLS हैंडशेक करता है।

इस एजेंट में socks5h गंतव्य होस्टनाम का रिज़ॉल्यूशन SOCKS प्रॉक्सी को छोड़ देता है। socks5 इसके बजाय स्थानीय रिज़ॉल्यूशन चुनता है। प्रॉक्सी का अपना होस्टनाम अब भी Node प्रक्रिया से पहुँचने योग्य होना चाहिए।

Got का HTTP/2 एजेंट स्लॉट अलग इंटरफ़ेस की अपेक्षा करता है। इस एजेंट को agent.http2 में कॉपी करके यह न मानें कि यह HTTP/2 प्रॉक्सी समर्थन देता है।

वर्कलोड के लिए कॉन्फ़िगर किए गए एजेंट का पुनः उपयोग करें और उसका स्वामी बंद होने पर उसे नष्ट करें। पैकेज संस्करण ऐप्लिकेशन के Node रनटाइम से मिलाएँ; यह उदाहरण नामित SocksProxyAgent एक्सपोर्ट का उपयोग करता है।

संबंधित लेख