Node.js ପାଇଁ Axios ରେ HTTP ଓ SOCKS ପ୍ରକ୍ସି
Axios ର Node HTTP ଅଡାପ୍ଟର୍ରେ HTTP ପ୍ରକ୍ସି ବିନ୍ୟାସ କରନ୍ତୁ କିମ୍ବା ବଛା IP SOCKS ଏଣ୍ଡପଏଣ୍ଟ ହେଲେ SOCKS ଏଜେଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ।
Axios ର Node HTTP ଅଡାପ୍ଟର୍ ହୋଷ୍ଟ ଓ ସଂଖ୍ୟାତ୍ମକ ପୋର୍ଟ ଥିବା HTTP ପ୍ରକ୍ସି ଅବଜେକ୍ଟ ଗ୍ରହଣ କରେ:
import axios from 'axios';
const response = await axios.get('https://example.com/', {
adapter: 'http',
proxy: {
protocol: 'http',
host: '203.0.113.10',
port: 8080,
},
timeout: 15000,
});
console.log(response.status);
ଦଲିଲର ଏଣ୍ଡପଏଣ୍ଟକୁ ନିଜ ସେବା କିମ୍ବା HTTP ପ୍ରକ୍ସି ତାଲିକାର HTTP ଏଣ୍ଟ୍ରିରେ ବଦଳାନ୍ତୁ। ଉଦାହରଣଗୁଡ଼ିକ Node ବ୍ୟବହାର କରନ୍ତି; ବ୍ରାଉଜର୍ର Axios ଏହି ବିକଳ୍ପ ଦ୍ୱାରା ବ୍ରାଉଜର୍ର ନେଟୱର୍କ ପ୍ରକ୍ସି ବାଛିପାରେ ନାହିଁ। host କ୍ଷେତ୍ର URL ସ୍କିମ୍ ବିନା ଠିକଣା ନିଏ।
ପ୍ରକ୍ସି ଅବଜେକ୍ଟର protocol ତାହାର ଲିସନର୍ ବର୍ଣ୍ଣନା କରେ। Axios 1.21.0 ରେ Node HTTP ଅଡାପ୍ଟର୍ HTTPS ଲକ୍ଷ୍ୟ ପାଇଁ CONNECT ବ୍ୟବହାର କରି ପରେ ଟନେଲ୍ ମାଧ୍ୟମରେ ମୂଳ ସର୍ଭର୍ ସହ TLS ଆଲୋଚନା କରେ। ପୁରୁଣା ସଂସ୍କରଣ ଭିନ୍ନ ପ୍ରକ୍ସି ପଥ ବ୍ୟବହାର କରିଛି, ତେଣୁ ସ୍ଥାପିତ ସଂସ୍କରଣ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ।
SOCKS URL ପାଇଁ SOCKS ଏଜେଣ୍ଟ ଦରକାର
HTTP ପ୍ରକ୍ସି ଅବଜେକ୍ଟ SOCKS ବାଛେ ନାହିଁ। ସୁସଙ୍ଗତ ଏଜେଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ:
npm install [email protected] [email protected]
import axios from 'axios';
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://203.0.113.10:1080');
try {
const response = await axios.get('https://example.com/', {
adapter: 'http',
httpAgent: agent,
httpsAgent: agent,
proxy: false,
timeout: 15000,
});
console.log(response.status);
} finally {
agent.destroy();
}
proxy: false SOCKS ଏଜେଣ୍ଟ ଦେଇଥିବା ପଥ ପାଇଁ Axios ର HTTP ପ୍ରକ୍ସି ପ୍ରକ୍ରିୟାକରଣ ବନ୍ଦ କରେ। HTTP ଓ HTTPS ଗନ୍ତବ୍ୟ ପାଇଁ ଏଜେଣ୍ଟ ଦେଲେ ଦୁଇ ସ୍କିମ୍ ଆସେ। ଏଠାରେ socks5h ଗନ୍ତବ୍ୟ DNS କୁ SOCKS ପକ୍ଷରେ ଛାଡ଼େ; ବଛା ସର୍ଭର୍ ସେହି ପ୍ରୋଟୋକଲ୍ ସମର୍ଥନ କରିବା ଦରକାର।
ବିଫଳତା ବୁଝିବା
ୱେବସାଇଟ୍ ଅସଫଳ ସ୍ଥିତି ଫେରାଇଲେ Axios ତ୍ରୁଟିରେ ଉତ୍ତର ଥାଇପାରେ। ଉତ୍ତର ନଥିଲେ ତ୍ରୁଟି କୋଡ୍ ଓ ସଂଯୋଗ ବିବରଣୀ ଦେଖନ୍ତୁ। ମଡ୍ୟୁଲ୍ ନଥିବା, ଅସମର୍ଥିତ ପ୍ରୋଟୋକଲ୍ କିମ୍ବା ଅସୁସଙ୍ଗତ Node ସଂସ୍କରଣ ଅନୁରୋଧ ଏଣ୍ଡପଏଣ୍ଟ ପହଞ୍ଚିବା ପୂର୍ବରୁ ବିଫଳ କରିପାରେ।
ପ୍ରମାଣୀକରଣ ଥିବା HTTP ପ୍ରକ୍ସି ପାଇଁ ପ୍ରକ୍ସି ଅବଜେକ୍ଟର auth କ୍ଷେତ୍ରରେ ପରିଚାଳକଙ୍କ ପ୍ରବେଶ ତଥ୍ୟ ବ୍ୟବହାର କରନ୍ତୁ। ଗନ୍ତବ୍ୟର ପ୍ରମାଣୀକରଣ ସେଟିଂ ଅନ୍ୟ ପକ୍ଷ ପାଇଁ।