WPAD er på. Hvorfor er WinHTTPs proxyadresse tom?
Å lese Windows' proxykonfigurasjon og å bestemme en proxy for en destinasjon er to separate operasjoner. Tjenesteidentitet legger til nok en grense.
Automatisk proxyoppdaging kan være på mens den manuelle proxystrengen er tom. WinHttpGetIEProxyConfigForCurrentUser() returnerer konfigurasjonsfelt, ikke et endelig endepunkt for hver destinasjon.
| Felt | Betydning |
|---|---|
| Manuell proxy | En eksplisitt konfigurert verdi |
| URL for automatisk konfigurasjon | Plasseringen av PAC-skriptet |
| Flagg for automatisk oppdaging | Om oppdaging er slått på |
Strukturen er utdata. Å sette medlemmet for automatisk oppdaging før funksjonen kalles, slår ikke på Windows-oppdaging. Bruk feltene som returneres til å bygge en egen forespørsel om automatisk proxy med de dokumenterte flaggene.
Bestem først, bruk deretter
Et API som WinHttpGetProxyForUrl() evaluerer destinasjonens faktiske URL. Oppgi den URL-en, ikke PAC-nedlastings-URL-en, og bruk resultatet av bestemmelsen på den relevante WinHTTP-forespørselen.
Et direkte resultat er gyldig. Feil ved skriptnedlasting, skriptevaluering og proxyforbindelse oppstår i separate trinn. Kontroller feilkoder og følg eierskapsreglene for returnerte strenger.
Hvis konfigurasjon?
“CurrentUser” betyr konteksten til den som kaller. En tjeneste uten riktig identitetsoverføring kan lese innstillingene til tjenestekontoen sin i stedet for skrivebordsbrukerens.
Velg bevisst om tjenesten bruker administrerte innstillinger eller følger konfigurasjonen til en autorisert bruker, inkludert atferd når det ikke finnes en interaktiv bruker. Tokenhåndtering og opprydding av ressurser må følge de støttede identitets-API-ene.
For feilsøking, hold kontoen til den som kaller, konfigurasjonsfeltene, destinasjonen, resultatet av bestemmelsen og den første tilkoblingsfeilen sammen. Det viser hvilket trinn som ga den tomme verdien eller den mislykkede ruten.