გამოიყენეთ SOCKS აგენტი Node-ის HTTPS კლიენტთან
დაუკავშირეთ socks-proxy-agent Node-ის ბირთვის HTTPS მოთხოვნას და შეინარჩუნეთ განსხვავება Node აგენტსა და fetch დისპეტჩერს შორის.
SOCKS-ის მხარდამჭერ აგენტს შეუძლია დანიშნულების კავშირის დამყარება Node-ის ბირთვის HTTPS კლიენტისთვის. როცა socks-proxy-agent აპლიკაციაში ხელმისაწვდომია:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
შეცვალეთ მაგალითის ბოლო წერტილი არაავტორიზებული კანდიდატით SOCKS5 პროქსი სიიდან ამ საჯარო HTTPS მოთხოვნისთვის. უკუგამოძახება ცლის პასუხს სტატუსის დაბეჭდვის შემდეგ; გამოიყენეთ სხეული იქ, თუ აპლიკაციას სჭირდება. ხელახლა გამოიყენეთ აგენტი მისთვის მინიჭებულ ოპერაციებში, შემდეგ გაანადგურეთ, როცა ეს კლიენტის პოლიტიკა გაუქმდება და მისი სამუშაო დასრულდება.
აირჩიეთ, სად იხსნება დანიშნულების სახელი
socks-proxy-agent-ის URL დამუშავებაში socks5h დანიშნულების ჰოსტის სახელის ამოხსნას პროქსის გზას უტოვებს; socks5 ლოკალურად ხსნის. ეს მნიშვნელოვანია, როცა სახელი ხელმისაწვდომია მხოლოდ პროქსის ქსელში.
HTTPS URL ინარჩუნებს ვებსაიტის იდენტობას. აგენტი ასრულებს SOCKS მოლაპარაკებას მანამ, სანამ Node დაიწყებს TLS-ს ამ საიტისკენ.
მომხმარებლის სახელის/პაროლის სერვისისთვის მოათავსეთ მონაცემები პროქსის URL-ში URI კომპონენტის კოდირებით დაცული სიმბოლოებისთვის. შეინახეთ სრული URL ჟურნალების გარეთ. დანიშნულების Authorization სათაურები ვებსაიტის ანგარიშს ეკუთვნის.
ეს აგენტი მუშაობს Node-ის ბირთვის HTTP/HTTPS მოთხოვნის API-ებთან. Node-ის fetch იყენებს დისპეტჩერის ინტერფეისს, ამიტომ დააკონფიგურირეთ ამ კლიენტის მხარდაჭერილი SOCKS ინტეგრაცია ცალკე.