Vaša aplikacija vpraša CFNetwork, kako doseči spletno mesto, in prejme URL, ki se konča z .pac. Vstavljanje tega imena gostitelja v povezavo socket je napačna pot: označuje konfiguracijsko skripto.

CFNetworkCopyProxiesForURL vrne urejeno matriko slovarjev za ciljni URL. Pred branjem polj končne točke preverite kCFProxyTypeKey. Slovar vrste kCFProxyTypeAutoConfigurationURL zagotovi kCFProxyAutoConfigurationURLKey, kar zahteva še en korak ocenjevanja.

  1. Pridobite trenutne sistemske nastavitve posrednika in zahtevajte poti do dejanskega ciljnega URL-ja.
  2. Ko se rezultat sklicuje na URL PAC, ocenite to skripto za isti cilj.
  3. Preberite vrste in končne točke dobljenih kandidatov. Posrednik HTTP, posrednik SOCKS in neposredna pot zahtevajo drugačno obravnavo povezave.
  4. Ohranite vrstni red kandidatov pri uporabi dovoljenega vedenja ob napaki in rezervi.

CFNetworkExecuteProxyAutoConfigurationURL prenese in oceni skripto asinhrono. Njena takojšnja povratna vrednost je vir run loop. Načrtujte ta vir; povratni klic po dokončanju dela poda rezultat ocenjevanja ali napako. Ustvarjanje vira in takojšnje branje prazne spremenljivke rezultata ne čaka na nič. Razveljavite vir, če je treba operacijo preklicati.

Ciljni URL naj ostane povezan s poizvedbo. Skripta PAC lahko za dva gostitelja izbere različne poti, zato shranjevanje enega razrešenega posrednika kot odgovora za vsak naslednji cilj spremeni politiko skripte. Prav tako je neposredni kandidat izrecna pot, ne manjkajoče ime gostitelja posrednika.

Ti API-ji so uporabni, ko mora prenos po meri razlagati sistemske nastavitve. Ne izvajajo naslednjega protokola posrednika za ta prenos in poizvedba ne pridobi gesel iz Keychaina. V macOS ločeno uskladite poverilnice posrednika v Keychainu.

Sorodni članki