Trong một hàm bất đồng bộ của tiến trình chính có cửa sổ sẵn có, hãy truy vấn phiên mà cửa sổ thực sự dùng:

const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');

API hiện tại trả về một Promise được giải quyết thành chuỗi. Hãy chờ thao tác setProxy đang chờ trước khi kiểm tra một thay đổi cấu hình.

Kết quả là quyết định proxy dành riêng cho URL. Một giá trị giả định có thể là:

PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT

Đó là danh sách ứng viên có thứ tự theo cú pháp kiểu PAC, không phải một tên máy chủ. DIRECT biểu thị rõ ràng một ứng viên trực tiếp. Xử lý riêng kết quả rỗng; đừng ngầm coi mọi chuỗi rỗng hoặc không nhận diện được là DIRECT.

Truy vấn URL đích thực tế vì các quyết định PAC và bỏ qua có thể khác nhau theo điểm đến. Tương tự, cửa sổ dùng phiên được phân vùng không nhất thiết có cùng chính sách như session.defaultSession.

Việc phân giải proxy có thể bao gồm công việc cấu hình tự động như lấy một tập lệnh PAC. Lựa chọn được trả về vẫn chưa phải là một yêu cầu đã hoàn tất tới trang web đích, không phải đăng nhập proxy thành công cũng không phải bằng chứng về IP thoát công khai của nó. Giữ lại phiên, URL và các ứng viên đã phân giải khi so sánh chúng với kết quả của yêu cầu tiếp theo.

Bài viết liên quan