HTTP un SOCKS starpniekserveri Axios bibliotēkā Node.js videi
Iestatiet HTTP starpniekserveri Axios Node HTTP adapterī vai izmantojiet SOCKS aģentu, ja izvēlētais IP ir SOCKS galapunkts.
Axios Node HTTP adapteris pieņem HTTP starpniekservera objektu ar resursdatoru un skaitlisku portu:
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);
Aizstājiet dokumentācijas galapunktu ar sava pakalpojuma vai HTTP starpniekserveru saraksta HTTP ierakstu. Piemēri izmanto Node; pārlūka Axios nevar ar šīm opcijām izvēlēties pārlūka tīkla starpniekserveri. Laukā host norāda adresi bez URL shēmas.
Starpniekservera objekta protocol apraksta tā klausītāju. Axios 1.21.0 Node HTTP adapteris HTTPS mērķim izmanto CONNECT un pēc tam tunelī vienojas par TLS ar sākotnējo serveri. Vecākas versijas izmantoja citus starpniekserveru ceļus, tāpēc instalētā versija ir svarīga.
SOCKS URL vajadzīgs SOCKS aģents
HTTP starpniekservera objekts neizvēlas SOCKS. Izmantojiet saderīgu aģentu:
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 izslēdz Axios HTTP starpniekservera apstrādi SOCKS aģenta dotajam maršrutam. Aģenta norādīšana HTTP un HTTPS galamērķiem aptver abas shēmas. Šeit socks5h deleģē galamērķa DNS SOCKS pusei; izvēlētajam serverim jāatbalsta šis protokols.
Kļūmju izpratne
Axios kļūda var ietvert atbildi, ja vietne atgrieza neveiksmīgu statusu. Bez atbildes pārbaudiet kļūdas kodu un savienojuma detaļas. Trūkstošs modulis, neatbalstīts protokols vai nesaderīga Node versija var radīt kļūmi, pirms pieprasījums sasniedz galapunktu.
HTTP starpniekserveriem ar autentifikāciju izmantojiet objekta lauku auth un operatora dotos akreditācijas datus. Galamērķa autentifikācijas iestatījumi attiecas uz citu pusi.