Tín app spyr CFNetwork, hvussu ein heimasíða verður atkomulig, og fær eina URL, sum endar við .pac. At seta hetta vertsnavnið í socket-sambandið er skeiv leið: tað vísir á eitt uppsetingarskript.

CFNetworkCopyProxiesForURL letur aftur eitt raðað array av orðabókum fyri mál-URLina. Kanna kCFProxyTypeKey, áðrenn tú lesur økini í endapunktinum. Ein orðabók av slagnum kCFProxyTypeAutoConfigurationURL gevur kCFProxyAutoConfigurationURLKey, sum krevur eitt stig av meting aftrat.

  1. Fá tær núverandi proxy-uppsetingar í skipanini og bið um ferðir til ta veruligu mál-URLina.
  2. Táið eitt úrslit vísir á eina PAC-URL, met tá skriptið fyri sama mál.
  3. Les sløg og endapunkt hjá teimum ymisku kandidatunum. Ein HTTP-proxy, ein SOCKS-proxy og ein beinleiðis ferð krevja ymiska sambandsviðgerð.
  4. Varðveit raðfesting kandidatanna, tá tú nýtir ta loyvdu vill- og afturfallatferðina.

CFNetworkExecuteProxyAutoConfigurationURL heinta og metur skriptið asynkront. Beinleiðis afturgevingarúrslit tess er ein run loop kelda. Set ta kelduna í rað; callback gevur metingarúrslitið ella villuna, tá arbeiðið er liðugt. At gera kelduna og beint lesa eina tóma úrslitsvarið bíður eftir ongum. Ger kelduna ógilda, um tiltakið skal avlýsast.

Halt mál-URLini knýttari at leitingini. Eitt PAC-skript kann velja ymiskar ferðir fyri tvey vertsnavn, so at goyma ein loystan proxy sum svar til øll seinni mál broytir stevnu skriptsins. Somuleiðis er ein beinleiðis kandidatur ein greið ferð, ikki eitt vertsnavn hjá proxynum, sum manglar.

Hesi API eru nyttig, tá ein serstakur transportur skal tulka uppsetingar í skipanini. Tey implementera ikki næstu proxy-protokoll fyri tann transportin, og leitingin tekur ikki loyniorð úr Keychain. Á macOS samsvara proxy-innloggingina í Keychain serstakliga.

Skyldar greinar