HTTP და SOCKS პროქსები Axios-ში Node.js-ისთვის
დააყენეთ HTTP პროქსი Axios-ის Node HTTP ადაპტერში, ან გამოიყენეთ SOCKS აგენტი, თუ არჩეული IP 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 თიშავს Axios-ის HTTP პროქსი დამუშავებას SOCKS აგენტის მიერ მოწოდებული მარშრუტისთვის. აგენტის HTTP და HTTPS სამიზნეებისთვის მიცემა ორივე სქემას მოიცავს. აქ socks5h სამიზნის DNS-ს SOCKS მხარეს აბარებს; არჩეულ სერვერს ეს პროტოკოლი უნდა ჰქონდეს მხარდაჭერილი.
შეცდომების გაგება
Axios-ის შეცდომა შეიძლება პასუხს შეიცავდეს, როცა საიტი წარუმატებელ სტატუსს აბრუნებს. უპასუხოდ შეამოწმეთ შეცდომის კოდი და კავშირის დეტალები. ნაკლულმა მოდულმა, დაუჭერელმა პროტოკოლმა ან შეუთავსებელმა Node ვერსიამ შეცდომა შეიძლება მოთხოვნის ბოლო წერტილამდე მისვლამდე გამოიწვიოს.
ავთენტიკაციის მქონე HTTP პროქსებისთვის გამოიყენეთ ობიექტის auth ველი ოპერატორის შესვლის მონაცემებით. სამიზნის ავთენტიკაციის პარამეტრები სხვა მხარეს ემსახურება.