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 ક્ષેત્રમાં સંચાલક આપેલાં ઓળખપત્રો વાપરો. ગંતવ્યની પ્રમાણીકરણ ગોઠવણી બીજા પક્ષ માટે છે.