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 क्षेत्रात संचालकाने दिलेले क्रेडेन्शियल वापरा. गंतव्याचे प्रमाणीकरण सेटिंग दुसऱ्या पक्षासाठी असते.