მიეცით Undici-ს პროქსის გარემოს ცვლადების წაკითხვის საშუალება
მიზნობრივად გამოიყენეთ EnvHttpProxyAgent და განასხვავეთ პატარა ასოების პრიორიტეტი, გვერდის ავლა, შენახული URL-ები და დინამიკური no_proxy.
გამოიყენეთ EnvHttpProxyAgent, როცა გზა პროცესის გარემომ უნდა აირჩიოს. გამოიყენეთ მკაფიოდ დაყენებული Undici ProxyAgent, როცა წერტილი კლიენტის კონფიგურაციას უნდა ეკუთვნოდეს. რეალურ მოთხოვნას გადაეცით; მხოლოდ აგენტის შექმნა არცერთ fetch გამოძახებას არ ცვლის.
import { EnvHttpProxyAgent, fetch } from 'undici';
const dispatcher = new EnvHttpProxyAgent();
try {
const response = await fetch("https://example.com/", {
dispatcher,
signal: AbortSignal.timeout(15000),
});
console.log(response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}შეინახეთ როგორც proxy-check.mjs ES-მოდულების გარემოში, სადაც Undici ხელმისაწვდომია. POSIX-ის ეს გაშვება ორ პროქსი გზასა და გვერდის ავლის ცარიელ სიას იძლევა:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsდოკუმენტაციის წერტილი თქვენი HTTP პროქსით ან HTTP პროქსების სიის კანდიდატით შეცვალეთ. მინიჭებები ამ გაშვებას ეკუთვნის; სხვა გარსები სხვა სინტაქსს იყენებს.
Undici 8.12.3-ში პატარა ასოებით http_proxy, https_proxy და no_proxy უპირატესია დიდასოიან შესაბამის ცვლადებზე, როცა ორივე არსებობს. HTTP და HTTPS დანიშნულებები საკუთარ პარამეტრებს ირჩევს. მხოლოდ HTTP პარამეტრი HTTPS-ის სათადარიგო ვარიანტსაც იძლევა; მხოლოდ HTTPS კი HTTP-ს არ უზრუნველყოფს. არ ივარაუდოთ, რომ სხვა კლიენტის ALL_PROXY შეთანხმება მოქმედებს.
| შეყვანა | როდის იყენებს ეს ვერსია |
|---|---|
| HTTP/HTTPS პროქსის გარემო | აირჩევა აგენტის შექმნისას. ამ წერტილების შეცვლის შემდეგ ახალი dispatcher შექმენით. |
გარემოს no_proxy | მოთხოვნების გაგზავნისას ხელახლა მოწმდება. |
კონსტრუქტორის noProxy | გვერდის ავლის პოლიტიკას მკაფიოდ აფიქსირებს და გარემოს შემდგომ ცვლილებებს არ მიჰყვება. |
გვერდის ავლა ჰოსტებსა და არასავალდებულო პორტებს შეიძლება დაემთხვეს; ერთი ვარსკვლავი ყველა მოთხოვნაში პროქსის გვერდს უვლის. თუ პროქსი ტრაფიკს ვერ ხედავს, დანიშნულების დამთხვევა შეამოწმეთ.
Windows-ის მთავარი პროცესი გარემოს სახელების რეგისტრს არ არჩევს, ამიტომ HTTP_PROXY და http_proxy დამოუკიდებელი მნიშვნელობები არ არის. Node Worker გარემოს ასლებში ასოების რეგისტრის დოკუმენტირებული განსხვავებაა. ორივე ჩანაწერის დაყენებით პრიორიტეტის გამოცდამდე ეს გაითვალისწინეთ. მაგალითი dispatcher-ს მუშაობის შემდეგ ხურავს; შეინარჩუნეთ, სანამ განმეორებით მოთხოვნებს იგივე შენახული წერტილების პოლიტიკა სჭირდება.