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 ସଂହତି ଅଲଗା ଭାବରେ କନଫିଗର କରନ୍ତୁ।