Dùng EnvHttpProxyAgent khi môi trường tiến trình phải chọn đường đi. Dùng Undici ProxyAgent tường minh khi đầu cuối thuộc cấu hình máy khách. Gắn nó vào yêu cầu thực tế; chỉ tạo agent không thay đổi bất kỳ lệnh gọi fetch nào:

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();
}

Lưu mã thành proxy-check.mjs trong môi trường mô-đun ES có Undici. Cách khởi chạy POSIX này cung cấp hai đường proxy và danh sách bỏ qua rỗng:

http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjs

Thay đầu cuối minh họa bằng proxy HTTP của bạn hoặc ứng viên từ danh sách proxy HTTP. Các phép gán chỉ thuộc lần chạy này; shell khác dùng cú pháp khác.

Trong Undici 8.12.3, các biến chữ thường http_proxy, https_proxy và no_proxy ưu tiên hơn bản chữ hoa tương ứng khi cả hai cùng tồn tại. Đích HTTP và HTTPS chọn thiết lập riêng. Chỉ có thiết lập HTTP vẫn làm dự phòng cho HTTPS; chỉ có HTTPS không cung cấp cho HTTP. Đừng cho rằng quy ước ALL_PROXY của máy khách khác áp dụng.

Đầu vàoKhi phiên bản này sử dụng
Môi trường proxy HTTP/HTTPSĐược chọn lúc tạo agent. Tạo dispatcher mới sau khi đổi các đầu cuối này.
no_proxy của môi trườngĐược kiểm tra lại khi điều phối yêu cầu.
noProxy của hàm dựngCố định rõ chính sách bỏ qua thay vì theo các thay đổi môi trường sau đó.

Quy tắc bỏ qua có thể khớp host và cổng tùy chọn; một dấu sao đơn lẻ bỏ qua proxy cho mọi yêu cầu. Kiểm tra khớp đích nếu proxy không thấy lưu lượng.

Trên Windows, tiến trình chính không phân biệt hoa thường trong tên môi trường, nên HTTP_PROXY và http_proxy không phải hai giá trị độc lập. Bản sao môi trường Node Worker có sự phân biệt hoa thường được ghi trong tài liệu. Tính đến điều đó trước khi đặt cả hai cách viết để thử ưu tiên. Ví dụ đóng dispatcher sau công việc; giữ nó trong thời gian các yêu cầu lặp cần cùng chính sách đầu cuối đã lưu.

Bài viết liên quan