Procenite PAC URL-ove koje vraća CFNetworkCopyProxiesForURL
Pretvorite rezultate automatske proxy konfiguracije CFNetwork-a u rute specifične za odredište, bez mešanja PAC adrese sa završnom tačkom proxy-ja.
Vaša aplikacija pita CFNetwork kako da dođe do veb sajta i dobija URL koji se završava na .pac. Stavljanje tog imena hosta u socket vezu je pogrešan put: ono označava skriptu konfiguracije.
CFNetworkCopyProxiesForURL vraća uređeni niz rečnika za ciljni URL. Proverite kCFProxyTypeKey pre čitanja polja završne tačke. Rečnik tipa kCFProxyTypeAutoConfigurationURL daje kCFProxyAutoConfigurationURLKey, koji zahteva još jedan korak procene.
- Preuzmite trenutna sistemska proxy podešavanja i zatražite rute do stvarnog odredišnog URL-a.
- Kada se rezultat odnosi na PAC URL, procenite tu skriptu za isto odredište.
- Pročitajte tipove i završne tačke dobijenih kandidata. HTTP proxy, SOCKS proxy i direktna ruta zahtevaju različito rukovanje vezom.
- Sačuvajte redosled kandidata prilikom primene dozvoljenog ponašanja kvara i rezerve.
CFNetworkExecuteProxyAutoConfigurationURL preuzima i procenjuje skriptu asinhrono. Njegova neposredna povratna vrednost je izvor run loop-a. Zakažite taj izvor; povratni poziv daje rezultat procene ili grešku nakon završetka posla. Stvaranje izvora i trenutno čitanje prazne promenljive rezultata ne čeka ništa. Poništite izvor ako operaciju treba otkazati.
Držite ciljni URL vezan za pretragu. PAC skripta može izabrati različite rute za dva hosta, pa čuvanje jednog razrešenog proxy-ja kao odgovora za svako sledeće odredište menja politiku skripte. Isto tako, direktni kandidat je izričita ruta, a ne nedostajuće ime proxy hosta.
Ovi API-ji su korisni kada prilagođeni transport mora da tumači sistemska podešavanja. Oni ne implementiraju sledeći proxy protokol za taj transport, a pretraga ne preuzima lozinke iz Keychain-a. Na macOS-u posebno uskladite proxy akreditive u Keychain-u.