HTTP- en SOCKS-proxy's yn Axios foar Node.js
Stel in HTTP-proxy yn de Node HTTP-adapter fan Axios yn, of brûk in SOCKS-agent as it keazen IP in SOCKS-einpunt is.
De Node HTTP-adapter fan Axios nimt in HTTP-proxyobjekt mei in host en numerike poarte oan:
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);
Ferfang it dokumintaasje-einpunt troch in HTTP-yngong fan dyn tsjinst of út de list mei HTTP-proxy’s. De foarbylden brûke Node; Axios yn de browser kin mei dizze opsjes net de netwurkproxy fan de browser kieze. It fjild host krijt it adres sûnder URL-skema.
De protocol fan it proxyobjekt beskriuwt syn lústerpunt. Yn Axios 1.21.0 brûkt de Node HTTP-adapter CONNECT foar in HTTPS-doel en ûnderhannelet dêrnei TLS mei de oarsprong troch de tunnel. Aldere ferzjes brûkten oare proxypaden, dus de ynstallearre ferzje is fan belang.
In SOCKS-URL hat in SOCKS-agent nedich
It HTTP-proxyobjekt kiest gjin SOCKS. Brûk in kompatibele 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 set de HTTP-proxyôfhanneling fan Axios út foar de rûte fan de SOCKS-agent. De agent foar HTTP- en HTTPS-bestimmingen opjaan dekt beide skema's. Hjir jout socks5h de DNS fan it doel oer oan de SOCKS-kant; de keazen tsjinner moat dat protokol stypje.
Flaters lêze
In Axios-flater kin in antwurd befetsje as de webside in net-slagge status weromjoech. Sûnder antwurd, besjoch de flaterkoade en ferbiningsdetails. In ûntbrekkende module, net-stipe protokol of ynkompatibele Node-ferzje kin mislearje foardat in fersyk it einpunt berikt.
Foar HTTP-proxy's mei autentikaasje brûkst it auth-fjild fan it proxyobjekt mei de gegevens fan de behearder. De autentikaasjeynstellingen fan it doel binne foar in oare partij.