WPAD är på. Varför är WinHTTPs proxyadress tom?
Att läsa Windows proxykonfiguration och att fastställa en proxy för ett mål är två separata operationer. Tjänstens identitet lägger till ännu en gräns.
Automatisk proxyidentifiering kan vara på medan den manuella proxysträngen är tom. WinHttpGetIEProxyConfigForCurrentUser() returnerar konfigurationsfält, inte en slutlig slutpunkt för varje mål.
| Fält | Betydelse |
|---|---|
| Manuell proxy | Ett uttryckligen konfigurerat värde |
| URL för automatisk konfiguration | PAC-skriptets plats |
| Flagga för automatisk identifiering | Om identifiering är aktiverad |
Strukturen är utdata. Att ange dess medlem för automatisk identifiering innan funktionen anropas aktiverar inte Windows-identifiering. Använd de returnerade fälten för att bygga en separat begäran om automatisk proxy med de dokumenterade flaggorna.
Fastställ först, tillämpa sedan
Ett API som WinHttpGetProxyForUrl() utvärderar målets faktiska URL. Ange den URL:en, inte PAC-nedladdnings-URL:en, och tillämpa resultatet av fastställandet på den relevanta WinHTTP-begäran.
Ett direkt resultat är giltigt. Fel vid skriptnedladdning, skriptutvärdering och proxyanslutning uppstår i separata steg. Kontrollera felkoder och följ ägarreglerna för returnerade strängar.
Vems konfiguration?
“CurrentUser” betyder anroparens kontext. En tjänst utan korrekt identitetsövertagande kan läsa inställningarna för sitt tjänstekonto i stället för skrivbordsanvändarens.
Välj medvetet om tjänsten använder hanterade inställningar eller följer konfigurationen för en auktoriserad användare, inklusive beteendet när det inte finns någon interaktiv användare. Tokhantering och resursrensning måste följa de identitets-API:er som stöds.
För felsökning, håll anroparkontot, konfigurationsfälten, målet, resultatet av fastställandet och det första anslutningsfelet tillsammans. Det visar i vilket steg det tomma värdet eller den misslyckade rutten uppstod.