HTTP i SOCKS proksiji u Axiosu za Node.js
Podesite HTTP proksi u Node HTTP adapteru Axiosa ili koristite SOCKS agent kada je odabrani IP SOCKS krajnja tačka.
Axiosov Node HTTP adapter prima HTTP proksi objekat s hostom i numeričkim 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);
Zamijenite dokumentacijsku krajnju tačku HTTP unosom svoje usluge ili s liste HTTP proxyja. Primjeri koriste Node; Axios u pregledniku ne može ovim opcijama odabrati mrežni proksi preglednika. Polje host prima adresu bez URL šeme.
Polje protocol proksi objekta opisuje njegov osluškujući servis. U Axiosu 1.21.0 Node HTTP adapter koristi CONNECT za HTTPS odredište, pa kroz tunel dogovara TLS s izvornim serverom. Starija izdanja koristila su druge proksi putanje, zato je instalirana verzija važna.
SOCKS URL zahtijeva SOCKS agent
HTTP proksi objekat ne odabire SOCKS. Koristite kompatibilan agent:
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 isključuje Axiosovu HTTP proksi obradu za putanju koju pruža SOCKS agent. Agent za HTTP i HTTPS odredišta pokriva obje šeme. Ovdje socks5h prepušta DNS odredišta SOCKS strani; odabrani server mora podržavati taj protokol.
Tumačenje grešaka
Axios greška može sadržavati odgovor kada stranica vrati neuspješan status. Bez odgovora pregledajte kod greške i detalje veze. Nedostajući modul, nepodržan protokol ili nekompatibilna verzija Nodea mogu izazvati grešku prije nego što zahtjev dođe do krajnje tačke.
Za HTTP proksije s autentifikacijom koristite polje auth proksi objekta s pristupnim podacima operatera. Postavke autentifikacije odredišta služe drugoj strani.