Got kies SOCKS-agente deur sy HTTP- en HTTPS-sleutels
Wys 'n SocksProxyAgent aan Got se agent-inskrywings per bestemmingsprotokol toe en hou sy HTTP/2-pad apart.
Got se agent-objek word volgens die bestemmingsprotokol gesleutel. 'n SOCKS-verbinding vir 'n HTTPS-URL hoort dus onder https, nie onder 'n nuwe sleutel met die naam socks nie.
Vir 'n bestaande ESM-toepassing wat Got en socks-proxy-agent op die HTTP/1-pad gebruik:
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();
Die SOCKS5-proxylys lewer kandidate vir die voorbeeld se proxy-URL sonder rekening. Dieselfde agent kan die getoonde HTTP- en HTTPS-inskrywings hanteer. Dit bou die SOCKS-verbinding, waarna die HTTPS-pad sy TLS-handdruk met die bestemming uitvoer.
In hierdie agent laat socks5h die oplossing van die bestemmingsgasheernaam aan die SOCKS-proxy oor. socks5 kies plaaslike oplossing. Die proxy se eie gasheernaam moet steeds vanaf die Node-proses bereikbaar wees.
Got se HTTP/2-agentgleuf verwag 'n ander koppelvlak. Moenie hierdie agent na agent.http2 kopieer en aanvaar dat dit HTTP/2-proxyondersteuning bied nie.
Hergebruik die gekonfigureerde agent vir die werklading en vernietig dit wanneer sy eienaar afskakel. Pas pakketweergawes by die toepassing se Node-lopie aan; hierdie voorbeeld gebruik die genoemde SocksProxyAgent-uitvoer.