Jo applikaasje freget CFNetwork hoe't in website berikt wurde moat en krijt in URL dy't einiget op .pac. Dat hostnamme yn de socketferbining sette is in ferkearde gong: it wiist in konfiguraasjeskript oan.

CFNetworkCopyProxiesForURL jout in oardere array fan wurdboeken foar de doel-URL werom. Besjoch kCFProxyTypeKey foardat jo de fjilden fan it einpunt lêze. In wurdboek fan it type kCFProxyTypeAutoConfigurationURL leveret kCFProxyAutoConfigurationURLKey, dat noch in beoardielingsstap nedich hat.

  1. Krij de hjoeddeistige proxyynstellingen fan it systeem en freegje om rûtes nei de werklike doel-URL.
  2. As in resultaat nei in PAC-URL wiist, beoarkje dat skript dan foar itselde doel.
  3. Lês de resultearjende kandidatetypen en einpunten. In HTTP-proxy, in SOCKS-proxy en in direkte rûte freegje in oare ferbiningsôfhanneling.
  4. Hâld de oarder fan de kandidaten oan by it tapassen fan it tastiene flater- en weromfalbgedrach.

CFNetworkExecuteProxyAutoConfigurationURL downloadt en beoarket it skript asynkroan. De direkte weromjefwearde is in run loop-boarne. Plan dy boarne; de callback leveret it beoardielingsresultaat of de flater neidat it wurk klear is. De boarne meitsje en daliks in lege resultaatfariabele lêze wachtet nearne op. Meitsje de boarne ûnjildich as de operaasje annulearre wurde moat.

Hâld de doel-URL oan de syktocht ferbûn. In PAC-skript kin foar twa hosts ferskate rûtes kieze, dus ien oploste proxy bewarje as antwurd foar elk folgjend doel feroaret it belied fan it skript. Likegoed is in direkte kandidaat in eksplisite rûte, gjin ûntbrekkende proxhostnamme.

Dizze API's binne brûkber as in oanpast transport de systeemynstellingen ynterpretearje moat. Se ymplementearje it folgjende proxyprotokol foar dat transport net, en de syktocht hellet gjin wachtwurden út de Keychain. Op macOS, keppelje de proxyynloggegevens apart yn de Keychain.

Relatearre artikelen