Got അതിന്റെ HTTP, HTTPS കീകൾ വഴി SOCKS ഏജന്റുകൾ തിരഞ്ഞെടുക്കുന്നു
Got-ന്റെ ലക്ഷ്യ-പ്രോട്ടോക്കോൾ ഏജന്റ് എൻട്രികൾക്ക് SocksProxyAgent നൽകി HTTP/2 പാത വേർതിരിച്ച് നിർത്തുക.
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 എക്സ്പോർട്ട് ഉപയോഗിക്കുന്നു.