Node ના HTTPS ક્લાયન્ટ સાથે SOCKS એજન્ટ વાપરો
socks-proxy-agent ને Node કોર HTTPS વિનંતી સાથે જોડો અને Node એજન્ટ તથા fetch dispatcher વચ્ચેનો ભેદ જાળવો.
SOCKS સક્ષમ એજન્ટ Node ના કોર HTTPS ક્લાયન્ટ માટે લક્ષ્ય કનેક્શન સ્થાપિત કરી શકે છે. એપ્લિકેશનમાં socks-proxy-agent ઉપલબ્ધ હોય ત્યારે:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
આ જાહેર HTTPS વિનંતી માટે ઉદાહરણના એન્ડપોઇન્ટને SOCKS5 પ્રોક્સી યાદીમાંથી અપ્રમાણિત ઉમેદવાર સાથે બદલો. કૉલબેક સ્થિતિ છાપ્યા પછી પ્રતિસાદ ખાલી કરે છે; એપ્લિકેશનને જરૂર હોય તો ત્યાં બોડી વાપરો. એજન્ટને તેની સોંપાયેલી કામગીરી માટે ફરી વાપરો, પછી તે ક્લાયન્ટ નીતિ નિવૃત્ત થાય અને તેનું કામ પૂરું થાય ત્યારે તેનો નાશ કરો.
લક્ષ્યનું નામ ક્યાં ઉકેલાય તે પસંદ કરો
socks-proxy-agent ના URL હેન્ડલિંગમાં, socks5h લક્ષ્ય હોસ્ટનામનું ઉકેલ પ્રોક્સી માર્ગને છોડી દે છે; socks5 તેને સ્થાનિક રીતે ઉકેલે છે. જ્યારે નામ ફક્ત પ્રોક્સીના નેટવર્ક પર ઉપલબ્ધ હોય ત્યારે આ મહત્વપૂર્ણ છે.
HTTPS URL વેબસાઇટની ઓળખ જાળવે છે. Node તે વેબસાઇટ તરફ TLS શરૂ કરે તે પહેલાં એજન્ટ SOCKS વાટાઘાટ કરે છે.
વપરાશકર્તાનામ/પાસવર્ડ સેવા માટે, અનામત અક્ષરો માટે URI-ઘટક એન્કોડિંગ વાપરીને પ્રોક્સી URL માં ઓળખપત્રો મૂકો. સંપૂર્ણ URL ને લોગની બહાર રાખો. લક્ષ્યના Authorization હેડરો વેબસાઇટના ખાતાના છે.
આ એજન્ટ Node ના કોર HTTP/HTTPS વિનંતી API સાથે કામ કરે છે. Node નું fetch dispatcher ઇન્ટરફેસ વાપરે છે, તેથી તે ક્લાયન્ટનું સમર્થિત SOCKS એકીકરણ અલગથી ગોઠવો.