WPAD er slået til. Hvorfor er WinHTTPs proxyadresse tom?
At læse Windows' proxykonfiguration og at finde en proxy til en destination er to separate handlinger. Tjenesteidentitet tilføjer endnu en grænse.
Automatisk proxyregistrering kan være slået til, mens den manuelle proxystreng er tom. WinHttpGetIEProxyConfigForCurrentUser() returnerer konfigurationsfelter, ikke et endeligt endepunkt for hver destination.
| Felt | Betydning |
|---|---|
| Manuel proxy | En eksplicit konfigureret værdi |
| URL til automatisk konfiguration | PAC-scriptets placering |
| Flag for auto-registrering | Om registrering er slået til |
Strukturen er output. At sætte dens medlem for auto-registrering før funktionskaldet slår ikke Windows-registrering til. Brug de returnerede felter til at opbygge en separat anmodning om automatisk proxy med de dokumenterede flag.
Afgør først, anvend derefter
En API som WinHttpGetProxyForUrl() evaluerer destinationens faktiske URL. Angiv den URL, ikke PAC-download-URL'en, og anvend afgørelsesresultatet på den relevante WinHTTP-anmodning.
Et direkte resultat er gyldigt. Fejl ved scriptdownload, scriptevaluering og proxyforbindelse opstår i separate trin. Kontroller fejlkoder, og følg ejerskabsreglerne for returnerede strenge.
Hvis konfiguration?
“CurrentUser” betyder kalderens kontekst. En tjeneste uden passende impersonation kan læse indstillingerne for sin tjenestekonto i stedet for skrivebordsbrugerens.
Vælg bevidst, om tjenesten bruger administrerede indstillinger eller følger en autoriseret brugers konfiguration, inklusive adfærd når der ikke findes en interaktiv bruger. Tokenhåndtering og oprydning af ressourcer skal følge de understøttede identitets-API'er.
Til fejlfinding skal du holde kalderkontoen, konfigurationsfelterne, destinationen, afgørelsesresultatet og den første forbindelsesfejl sammen. Det viser, hvilket trin der gav den tomme værdi eller den mislykkede rute.