WPAD ist aktiv. Warum ist die Proxyadresse von WinHTTP leer?
Die Windows-Proxykonfiguration zu lesen und einen Proxy für ein Ziel zu ermitteln, sind getrennte Vorgänge. Die Dienstidentität fügt eine weitere Grenze hinzu.
Die automatische Proxyerkennung kann aktiviert sein, während die manuell konfigurierte Proxyzeichenfolge leer ist. WinHttpGetIEProxyConfigForCurrentUser() gibt Konfigurationsfelder zurück, nicht einen endgültigen Endpunkt für jedes Ziel.
| Feld | Bedeutung |
|---|---|
| Manueller Proxy | Ein ausdrücklich konfigurierter Wert |
| URL der automatischen Konfiguration | Der Speicherort des PAC-Skripts |
| Flag für automatische Erkennung | Ob die Erkennung aktiviert ist |
Die Struktur ist Ausgabe. Das Auto-Erkennungs-Member vor dem Aufruf der Funktion zu setzen, aktiviert die Windows-Erkennung nicht. Verwenden Sie die zurückgegebenen Felder, um eine separate Auto-Proxy-Anfrage mit den dokumentierten Flags zu erstellen.
Erst auflösen, dann anwenden
Eine API wie WinHttpGetProxyForUrl() wertet die tatsächliche Ziel-URL aus. Geben Sie diese URL an, nicht die PAC-Download-URL, und wenden Sie das Auflösungsergebnis auf die betreffende WinHTTP-Anfrage an.
Ein direktes Ergebnis ist gültig. Fehler beim Skriptdownload, bei der Skriptauswertung und bei der Proxyverbindung treten in getrennten Schritten auf. Prüfen Sie Fehlercodes und befolgen Sie die Eigentumsregeln für zurückgegebene Zeichenfolgen.
Wessen Konfiguration?
„CurrentUser“ bezeichnet den Kontext des Aufrufers. Ein Dienst ohne geeignete Identitätsübernahme kann die Einstellungen seines Dienstkontos statt die des Desktopbenutzers lesen.
Wählen Sie bewusst, ob der Dienst verwaltete Einstellungen nutzt oder der Konfiguration eines autorisierten Benutzers folgt, einschließlich des Verhaltens, wenn kein interaktiver Benutzer vorhanden ist. Tokenbehandlung und Ressourcenbereinigung müssen den unterstützten Identitäts-APIs folgen.
Halten Sie zur Diagnose Aufruferkonto, Konfigurationsfelder, Ziel, Auflösungsergebnis und ersten Verbindungsfehler zusammen. Das zeigt, in welcher Stufe der leere Wert oder die fehlgeschlagene Route entstanden ist.