Αφήστε το Undici να διαβάσει μεταβλητές proxy από το περιβάλλον
Χρησιμοποιήστε σκόπιμα το EnvHttpProxyAgent και ξεχωρίστε προτεραιότητα πεζών, παρακάμψεις, αποθηκευμένα URL proxy και δυναμικό no_proxy.
Χρησιμοποιήστε EnvHttpProxyAgent όταν το περιβάλλον διεργασίας πρέπει να επιλέξει διαδρομή. Χρησιμοποιήστε ρητό Undici ProxyAgent όταν το σημείο πρέπει να ανήκει στη ρύθμιση του πελάτη. Περάστε το στο πραγματικό αίτημα· η δημιουργία του agent από μόνη της δεν αλλάζει καμία κλήση 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 modules με διαθέσιμο Undici. Αυτή η εκκίνηση POSIX δίνει τις δύο διαδρομές proxy και κενή λίστα παρακάμψεων:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsΑντικαταστήστε το σημείο τεκμηρίωσης με το HTTP proxy σας ή υποψήφιο από τη λίστα HTTP proxy. Οι αναθέσεις αφορούν αυτή την εκτέλεση· άλλα κελύφη χρησιμοποιούν διαφορετική σύνταξη.
Στο Undici 8.12.3, τα πεζά http_proxy, https_proxy και no_proxy προηγούνται των κεφαλαίων αντίστοιχων όταν υπάρχουν και τα δύο. Προορισμοί HTTP και HTTPS επιλέγουν δικές τους ρυθμίσεις. Μόνο ρύθμιση HTTP δίνει και εφεδρεία για HTTPS· μόνο HTTPS δεν παρέχει HTTP. Μην υποθέτετε ότι ισχύει η σύμβαση ALL_PROXY άλλου πελάτη.
| Είσοδος | Πότε τη χρησιμοποιεί αυτή η έκδοση |
|---|---|
| Περιβάλλον proxy HTTP/HTTPS | Επιλέγεται κατά τη δημιουργία του agent. Φτιάξτε νέο dispatcher μετά την αλλαγή αυτών των σημείων. |
no_proxy περιβάλλοντος | Ελέγχεται ξανά όταν αποστέλλονται αιτήματα. |
noProxy κατασκευαστή | Ορίζει ρητά την πολιτική παράκαμψης αντί να ακολουθεί μελλοντικές αλλαγές περιβάλλοντος. |
Οι παρακάμψεις μπορούν να ταιριάξουν υπολογιστές και προαιρετικές θύρες· ένας αστερίσκος μόνος παρακάμπτει τον proxy για κάθε αίτημα. Εξετάστε την αντιστοιχία προορισμού αν ο proxy δεν βλέπει κίνηση.
Στα Windows η κύρια διεργασία δεν ξεχωρίζει πεζά και κεφαλαία στα ονόματα περιβάλλοντος, άρα HTTP_PROXY και http_proxy δεν είναι ανεξάρτητες τιμές. Τα αντίγραφα περιβάλλοντος Node Worker έχουν τεκμηριωμένη διάκριση πεζών-κεφαλαίων. Λάβετέ το υπόψη πριν ορίσετε και τις δύο γραφές για δοκιμή προτεραιότητας. Το παράδειγμα κλείνει τον dispatcher μετά την εργασία· κρατήστε τον όσο επαναλαμβανόμενα αιτήματα χρειάζονται την ίδια αποθηκευμένη πολιτική σημείων.