HTTP a SOCKS proxy v Axios pre Node.js
Nastavte HTTP proxy v Node HTTP adaptéri Axios alebo použite SOCKS agenta, ak je vybraná IP koncovým bodom SOCKS.
Node HTTP adaptér Axios prijíma objekt HTTP proxy s hostiteľom a číselným portom:
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);
Nahraďte dokumentačný koncový bod HTTP záznamom svojej služby alebo zo zoznamu HTTP proxy. Príklady používajú Node; Axios v prehliadači nemôže týmito voľbami vybrať sieťový proxy prehliadača. Pole host prijíma adresu bez schémy URL.
Pole protocol objektu proxy opisuje jeho počúvajúcu službu. V Axios 1.21.0 používa Node HTTP adaptér CONNECT pre HTTPS cieľ a potom cez tunel dohodne TLS s pôvodným serverom. Staršie verzie používali iné proxy cesty, preto je nainštalovaná verzia dôležitá.
SOCKS URL potrebuje SOCKS agenta
Objekt HTTP proxy nevyberá SOCKS. Použite kompatibilného agenta:
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 vypína spracovanie HTTP proxy v Axios pre trasu dodanú SOCKS agentom. Zadanie agenta pre HTTP aj HTTPS ciele pokrýva obe schémy. Tu socks5h odovzdáva DNS cieľa strane SOCKS; vybraný server musí tento protokol podporovať.
Vyhodnotenie chýb
Chyba Axios môže obsahovať odpoveď, ak web vrátil neúspešný stav. Bez nej skúmajte kód chyby a podrobnosti spojenia. Chýbajúci modul, nepodporovaný protokol alebo nekompatibilná verzia Node môžu zlyhať skôr, než požiadavka dosiahne koncový bod.
Pre HTTP proxy s autentifikáciou použite pole auth objektu proxy s údajmi od prevádzkovateľa. Nastavenia autentifikácie cieľa slúžia inej protistrane.