WPAD đang bật. Tại sao địa chỉ proxy của WinHTTP lại trống?
Đọc cấu hình proxy của Windows và xác định proxy cho một đích đến là hai thao tác riêng biệt. Danh tính dịch vụ thêm một ranh giới nữa.
Tính năng tự động phát hiện proxy có thể đang bật trong khi chuỗi proxy thủ công trống. WinHttpGetIEProxyConfigForCurrentUser() trả về các trường cấu hình, không phải điểm cuối cho mọi đích đến.
| Trường | Ý nghĩa |
|---|---|
| Proxy thủ công | Giá trị được cấu hình rõ ràng |
| URL cấu hình tự động | Vị trí của tập lệnh PAC |
| Cờ tự động phát hiện | Việc phát hiện có được bật hay không |
Cấu trúc là đầu ra. Đặt thành viên tự động phát hiện của nó trước khi gọi hàm không bật tính năng phát hiện của Windows. Dùng các trường được trả về để tạo một yêu cầu proxy tự động riêng với các cờ đã được ghi tài liệu.
Xác định trước, rồi áp dụng
Một API như WinHttpGetProxyForUrl() đánh giá URL thực tế của đích đến. Hãy cung cấp URL đó, không phải URL tải PAC, và áp dụng kết quả xác định cho yêu cầu WinHTTP liên quan.
Kết quả trực tiếp là hợp lệ. Lỗi tải tập lệnh, đánh giá tập lệnh và kết nối proxy xảy ra ở các bước riêng biệt. Kiểm tra mã lỗi và tuân theo quy tắc sở hữu đối với chuỗi được trả về.
Cấu hình của ai?
“CurrentUser” nghĩa là ngữ cảnh của bên gọi. Một dịch vụ không có mạo danh phù hợp có thể đọc cài đặt của tài khoản dịch vụ thay vì của người dùng máy tính để bàn.
Hãy chủ động chọn xem dịch vụ dùng cài đặt được quản lý hay tuân theo cấu hình của người dùng được ủy quyền, bao gồm cả hành vi khi không có người dùng tương tác. Việc xử lý token và dọn dẹp tài nguyên phải tuân theo các API danh tính được hỗ trợ.
Để chẩn đoán, hãy giữ cùng nhau tài khoản gọi, các trường cấu hình, đích đến, kết quả xác định và lỗi kết nối đầu tiên. Điều đó cho thấy giai đoạn nào đã tạo ra giá trị trống hoặc tuyến đường thất bại.