Axios’ Node HTTP-adapter godtar et HTTP-proxyobjekt med vert og numerisk port:

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);

Bytt ut dokumentasjonsendepunktet med en HTTP-oppføring fra tjenesten din eller listen over HTTP-proxyer. Eksemplene bruker Node; Axios i nettleseren kan ikke velge nettleserens nettverksproxy med disse alternativene. Feltet host tar adressen uten URL-skjema.

Proxyobjektets protocol beskriver lyttepunktet. I Axios 1.21.0 bruker Node HTTP-adapteren CONNECT til et HTTPS-mål og forhandler deretter TLS med opprinnelsesserveren gjennom tunnelen. Eldre utgaver har brukt andre proxyveier, så den installerte versjonen betyr noe.

En SOCKS-URL trenger en SOCKS-agent

HTTP-proxyobjektet velger ikke SOCKS. Bruk en kompatibel 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 slår av Axios’ HTTP-proxybehandling for ruten SOCKS-agenten gir. Å oppgi agenten for HTTP- og HTTPS-mål dekker begge skjemaene. Her overlater socks5h målets DNS til SOCKS-siden; den valgte serveren må støtte protokollen.

Forstå feil

En Axios-feil kan inneholde et svar når nettstedet returnerte en mislykket status. Uten svar undersøker du feilkoden og tilkoblingsdetaljene. En manglende modul, en protokoll som ikke støttes, eller en inkompatibel Node-versjon kan feile før forespørselen når endepunktet.

For HTTP-proxyer med autentisering bruker du proxyobjektets auth-felt med opplysningene fra operatøren. Målets autentiseringsinnstillinger gjelder en annen part.

Relaterte artikler