Az Axios Node HTTP-adaptere gépnevet és számszerű portot tartalmazó HTTP-proxyobjektumot fogad:

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

Cserélje a dokumentációs végpontot saját szolgáltatása vagy a HTTP-proxyk listájának HTTP-bejegyzésére. A példák Node-ot használnak; a böngészős Axios ezekkel az opciókkal nem választhatja ki a böngésző hálózati proxyját. A host mező URL-séma nélküli címet vár.

A proxyobjektum protocol mezője annak figyelő szolgáltatását írja le. Az Axios 1.21.0 Node HTTP-adaptere HTTPS-célhoz CONNECT-et használ, majd az alagúton keresztül TLS-t egyeztet az eredeti kiszolgálóval. Régebbi kiadások más proxyútvonalakat használtak, ezért fontos a telepített verzió.

SOCKS-URL-hez SOCKS-agent kell

A HTTP-proxyobjektum nem választ SOCKS-ot. Használjon kompatibilis agentet:

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

A proxy: false kikapcsolja az Axios HTTP-proxykezelését a SOCKS-agent által adott útvonalon. Ha az agentet HTTP- és HTTPS-célokhoz is megadja, mindkét sémát lefedi. Itt a socks5h a SOCKS-oldalra bízza a cél DNS-feloldását; a választott kiszolgálónak támogatnia kell ezt a protokollt.

A hibák értelmezése

Az Axios hibája tartalmazhat választ, ha a webhely sikertelen állapotot adott vissza. Válasz nélkül a hibakódot és a kapcsolat részleteit vizsgálja. Hiányzó modul, nem támogatott protokoll vagy inkompatibilis Node-verzió még a végpont elérése előtt hibát okozhat.

Hitelesített HTTP-proxyknál használja a proxyobjektum auth mezőjét az üzemeltető hitelesítő adataival. A cél hitelesítési beállításai másik félre vonatkoznak.

Kapcsolódó cikkek