HTTP и SOCKS прокси во Axios за Node.js
Поставете HTTP прокси во Node HTTP адаптерот на Axios или користете SOCKS агент кога избраниот IP е SOCKS крајна точка.
Node HTTP адаптерот на Axios прифаќа HTTP прокси објект со хост и бројна порта:
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);
Заменете ја документациската крајна точка со HTTP запис од својата услуга или од листата со HTTP прокси-сервери. Примерите користат Node; Axios во прелистувач не може со овие опции да го избере мрежното прокси на прелистувачот. Полето host зема адреса без URL шема.
Полето protocol на прокси објектот го опишува неговиот слушач. Во Axios 1.21.0 Node HTTP адаптерот користи CONNECT за HTTPS цел, а потоа договара TLS со изворниот сервер низ тунелот. Постарите изданија користеле други прокси-патеки, па инсталираната верзија е важна.
SOCKS URL бара SOCKS агент
HTTP прокси објектот не избира SOCKS. Користете компатибилен агент:
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 ја исклучува HTTP прокси обработката на Axios за патеката што ја дава SOCKS агентот. Давањето на агентот за HTTP и HTTPS цели ги покрива двете шеми. Тука socks5h го препушта DNS на целта на SOCKS страната; избраниот сервер мора да го поддржува тој протокол.
Толкување на грешките
Axios грешка може да содржи одговор кога страницата вратила неуспешен статус. Без одговор, прегледајте го кодот на грешката и деталите за врската. Модул што недостига, неподдржан протокол или некомпатибилна верзија на Node може да предизвика грешка пред барањето да ја достигне крајната точка.
За HTTP прокси со автентикација користете го полето auth на прокси објектот со податоците од операторот. Поставките за автентикација на целта се за друга страна.