HTTP- és SOCKS-proxyk az Axiosban Node.js-hez
Állítson be HTTP-proxyt az Axios Node HTTP-adapterében, vagy használjon SOCKS-agentet, ha a választott IP SOCKS-végpont.
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.