HTTP- en SOCKS-instaanbedieners in Axios vir Node.js
Stel 'n HTTP-instaanbediener in Axios se Node HTTP-adapter op, of gebruik 'n SOCKS-agent as die gekose IP 'n SOCKS-eindpunt is.
Axios se Node HTTP-adapter aanvaar 'n HTTP-instaanbedienerobjek met 'n gasheer en numeriese poort:
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);
Vervang die dokumentasie-eindpunt met 'n HTTP-inskrywing van jou diens of die HTTP-instaanbedienerlys. Hierdie voorbeelde gebruik Node; Axios in die blaaier kan nie hiermee die blaaier se netwerkinstaanbediener kies nie. Die host-veld neem die adres sonder 'n URL-skema.
Die instaanbedienerobjek se protocol beskryf sy luisterpunt. In Axios 1.21.0 gebruik die Node HTTP-adapter CONNECT vir 'n HTTPS-bestemming en onderhandel daarna TLS met die oorsprong deur die tonnel. Ouer weergawes het ander instaanbedienerpaaie gebruik; die geïnstalleerde weergawe maak dus saak.
'n SOCKS-URL benodig 'n SOCKS-agent
Die HTTP-instaanbedienerobjek kies nie SOCKS nie. Gebruik eerder 'n versoenbare 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 skakel Axios se HTTP-instaanbedienerhantering af vir die roete wat die SOCKS-agent verskaf. Deur die agent vir HTTP- en HTTPS-bestemmings te gee, word albei skemas gedek. Hier delegeer socks5h die bestemming se DNS aan die SOCKS-kant; die gekose bediener moet daardie protokol ondersteun.
Foute vertolk
'n Axios-fout kan 'n antwoord bevat wanneer die webwerf 'n onsuksesvolle status terugstuur. Sonder een moet jy die foutkode en verbindingsbesonderhede ondersoek. 'n Ontbrekende module, onondersteunde protokol of onversoenbare Node-weergawe kan misluk voordat 'n versoek die eindpunt bereik.
Vir HTTP-instaanbedieners met verifikasie, gebruik die objek se auth-veld met aanmeldbesonderhede van die operateur. Die bestemming se verifikasie-instellings is vir 'n ander party.