WPAD on päällä. Miksi WinHTTPin välityspalvelimen osoite on tyhjä?
Windowsin välityspalvelinasetusten lukeminen ja välityspalvelimen määrittäminen kohdetta varten ovat erillisiä toimintoja. Palvelun identiteetti lisää vielä yhden rajan.
Automaattinen välityspalvelimen tunnistus voi olla päällä, vaikka käsin asetettu välityspalvelinmerkkijono on tyhjä. WinHttpGetIEProxyConfigForCurrentUser() palauttaa asetuskentät, ei lopullista päätepistettä jokaista kohdetta varten.
| Kenttä | Merkitys |
|---|---|
| Manuaalinen välityspalvelin | Nimenomaisesti määritetty arvo |
| Automaattisen määrityksen URL | PAC-skriptin sijainti |
| Automaattitunnistuksen lippu | Onko tunnistus käytössä |
Rakenne on tuloste. Sen automaattitunnistusjäsenen asettaminen ennen funktion kutsua ei ota Windowsin tunnistusta käyttöön. Käytä palautettuja kenttiä erillisen automaattisen välityspalvelinpyynnön rakentamiseen dokumentoiduilla lipuilla.
Ratkaise ensin, käytä sitten
API kuten WinHttpGetProxyForUrl() arvioi kohteen todellisen URL-osoitteen. Anna tuo URL-osoite, ei PAC-latauksen URL-osoitetta, ja käytä ratkaisun tulosta kyseiseen WinHTTP-pyyntöön.
Suora tulos on kelvollinen. Skriptin latauksen, skriptin arvioinnin ja välityspalvelinyhteyden virheet tapahtuvat erillisissä vaiheissa. Tarkista virhekoodit ja noudata palautettujen merkkijonojen omistussääntöjä.
Kenen asetukset?
“CurrentUser” tarkoittaa kutsujan kontekstia. Palvelu ilman asianmukaista identiteetin esittämistä voi lukea palvelutilinsä asetukset työpöytäkäyttäjän asetusten sijaan.
Valitse tietoisesti, käyttääkö palvelu hallittuja asetuksia vai noudattaako se valtuutetun käyttäjän asetuksia, mukaan lukien toiminta, kun vuorovaikutteista käyttäjää ei ole. Tunnusten käsittelyn ja resurssien siivouksen on noudatettava tuettuja identiteetti-API:ja.
Vianmääritystä varten pidä yhdessä kutsujan tili, asetuskentät, kohde, ratkaisun tulos ja ensimmäinen yhteysvirhe. Se osoittaa, missä vaiheessa tyhjä arvo tai epäonnistunut reitti syntyi.