Got SOCKS აგენტებს თავისი HTTP და HTTPS გასაღებებით ირჩევს
მიანიჭეთ SocksProxyAgent Got-ის დანიშნულების პროტოკოლის აგენტის ჩანაწერებს და HTTP/2 გზა ცალკე შეინახეთ.
Got-ის agent ობიექტი დანიშნულების პროტოკოლით იკვრება. ამიტომ HTTPS URL-ისთვის SOCKS კავშირი https-ის ქვეშ ეკუთვნის და არა socks სახელის ახალი გასაღების ქვეშ.
არსებული ESM აპლიკაციისთვის, რომელიც HTTP/1 გზაზე Got-სა და socks-proxy-agent-ს იყენებს:
import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
http2: false,
agent: {
http: agent,
https: agent,
},
timeout: {request: 20000},
}).text();
SOCKS5 პროქსიების სია მაგალითის ანგარიშის გარეშე პროქსი URL-ისთვის კანდიდატებს იძლევა. იგივე აგენტი შეძლებს ნაჩვენები HTTP და HTTPS ჩანაწერების მომსახურებას. ის ამყარებს SOCKS კავშირს, შემდეგ კი HTTPS გზა დანიშნულებასთან TLS ხელის ჩამორთმევას ასრულებს.
ამ აგენტში socks5h დანიშნულების ჰოსტის სახელის გარჩევას SOCKS პროქსის უტოვებს. socks5 სამაგიეროდ ლოკალურ გარჩევას ირჩევს. პროქსის საკუთარი ჰოსტის სახელი მაინც უნდა იყოს მისაწვდომი Node პროცესიდან.
Got-ის HTTP/2 აგენტის სლოტი სხვა ინტერფეისს მოელის. ნუ დააკოპირებთ ამ აგენტს agent.http2-ში და ნუ ჩათვლით, რომ ის HTTP/2 პროქსის მხარდაჭერას იძლევა.
ხელახლა გამოიყენეთ კონფიგურირებული აგენტი დატვირთვისთვის და გაანადგურეთ ის, როცა მისი მფლობელი ითიშება. შეუსაბამეთ პაკეტების ვერსიები აპლიკაციის Node გარემოს; ეს მაგალითი იყენებს დასახელებულ SocksProxyAgent ექსპორტს.