Node.js-ийн Axios дахь HTTP ба SOCKS прокси
Axios-ийн Node HTTP адаптерт HTTP прокси тохируулах эсвэл сонгосон IP нь SOCKS төгсгөлийн цэг бол SOCKS агент ашиглана.
Axios-ийн Node HTTP адаптер нь хост болон тоон порттой 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 адаптер HTTPS зорилтот серверт CONNECT ашиглаад дараа нь туннелээр эх сервертэй 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 нь SOCKS агентаас өгсөн замд Axios-ийн HTTP прокси боловсруулалтыг унтраана. Агентыг HTTP ба HTTPS зорилтот хаягт хоёуланд нь өгөх нь хоёр схемийг хамарна. Энд socks5h зорилтот хаягийн DNS-ийг SOCKS талд даатгана. Сонгосон сервер тэр протоколыг дэмжих ёстой.
Алдааг ойлгох
Сайт амжилтгүй төлөв буцаасан бол Axios алдаа хариу агуулж болно. Хариугүй бол алдааны код, холболтын мэдээллийг шалгана. Дутуу модуль, дэмждэггүй протокол эсвэл нийцгүй Node хувилбар хүсэлт төгсгөлийн цэгт хүрэхээс өмнө алдаа үүсгэж болно.
Таних баталгаажуулалттай HTTP проксид прокси объектын auth талбарыг үйлчилгээний эзний өгсөн нэвтрэх мэдээллээр ашиглана. Зорилтот серверийн таних баталгаажуулалтын тохиргоо өөр талд зориулсан.