WPAD увімкнено. Чому адреса проксі в WinHTTP порожня?
Читання конфігурації проксі Windows і визначення проксі для призначення — різні операції. Ідентичність служби додає ще одну межу.
Автовизначення проксі може бути ввімкнене, хоча рядок проксі, заданий вручну, порожній. WinHttpGetIEProxyConfigForCurrentUser() повертає поля конфігурації, а не кінцеву точку для кожного призначення.
| Поле | Значення |
|---|---|
| Проксі вручну | Значення, задане явно |
| URL автоматичної конфігурації | Розташування скрипту PAC |
| Прапорець автовизначення | Чи ввімкнено виявлення |
Структура — це вихідні дані. Установлення її члена автовизначення перед викликом функції не вмикає виявлення в Windows. Використовуйте повернені поля, щоб побудувати окремий запит автоматичного проксі з документованими прапорцями.
Спочатку визначте, потім застосуйте
API, наприклад WinHttpGetProxyForUrl(), оцінює фактичний URL призначення. Укажіть цей URL, а не URL завантаження PAC, і застосуйте результат визначення до відповідного запиту WinHTTP.
Прямий результат припустимий. Помилки завантаження скрипту, його обчислення та підключення до проксі виникають на окремих етапах. Перевіряйте коди збоїв і дотримуйтеся правил володіння поверненими рядками.
Чия конфігурація?
«CurrentUser» означає контекст того, хто викликає. Служба без належного уособлення може читати параметри свого службового облікового запису замість параметрів користувача робочого столу.
Свідомо виберіть, чи служба використовує керовані параметри, чи дотримується конфігурації авторизованого користувача, включно з поведінкою, коли немає інтерактивного користувача. Обробка токенів і очищення ресурсів мають відповідати підтримуваним API ідентичності.
Для діагностики тримайте разом обліковий запис виклику, поля конфігурації, призначення, результат визначення та першу помилку підключення. Це показує, на якому етапі виникло порожнє значення або невдалий маршрут.