Aplikacioni juaj pyet CFNetwork se si të arrijë një faqe interneti dhe merr një URL që mbaron me .pac. Vendosja e atij emri host në lidhjen socket është rrugë e gabuar: ai identifikon një skript konfigurimi.

CFNetworkCopyProxiesForURL kthen një varg të renditur fjalorësh për URL-në e synuar. Kontrolloni kCFProxyTypeKey përpara se të lexoni fushat e pikës fundore. Një fjalor i tipit kCFProxyTypeAutoConfigurationURL siguron kCFProxyAutoConfigurationURLKey, i cili kërkon një hap tjetër vlerësimi.

  1. Merrni cilësimet aktuale të proxy-t të sistemit dhe kërkoni rrugë drejt URL-së reale të destinacionit.
  2. Kur një rezultat i referohet një URL PAC, vlerësoni atë skript për të njëjtin destinacion.
  3. Lexoni tipet dhe pikat fundore të kandidatëve që rezultojnë. Një proxy HTTP, një proxy SOCKS dhe një rrugë e drejtpërdrejtë kërkojnë trajtim të ndryshëm të lidhjes.
  4. Ruani rendin e kandidatëve kur zbatoni sjelljen e lejuar të dështimit dhe të rezervës.

CFNetworkExecuteProxyAutoConfigurationURL shkarkon dhe vlerëson skriptin në mënyrë asinkrone. Vlera e tij e menjëhershme e kthimit është një burim run loop. Planifikoni atë burim; kthimi i thirrjes jep rezultatin e vlerësimit ose gabimin pasi puna përfundon. Krijimi i burimit dhe leximi i menjëhershëm i një ndryshoreje rezultati të zbrazët nuk pret asgjë. Pavlefshoni burimin nëse operacioni duhet anuluar.

Mbajeni URL-në e synuar të lidhur me kërkimin. Një skript PAC mund të zgjedhë rrugë të ndryshme për dy host-e, prandaj ruajtja e një proxy-t të vetëm të zgjidhur si përgjigje për çdo destinacion pasues ndryshon politikën e skriptit. Po ashtu, një kandidat i drejtpërdrejtë është rrugë e qartë, jo një emër host proxy që mungon.

Këto API janë të dobishme kur një transport i personalizuar duhet të interpretojë cilësimet e sistemit. Ato nuk zbatojnë protokollin pasues të proxy-t për atë transport, dhe kërkimi nuk merr fjalëkalime nga Keychain. Në macOS, përputhni veçmas kredencialin e proxy-t në Keychain.

Artikuj të ngjashëm