Taksi la PAC-adresojn redonatajn de CFNetworkCopyProxiesForURL
Konvertu la rezultojn de la aŭtomata prokura agordo de CFNetwork al celaj vojoj sen konfuzi la PAC-adreson kun la prokura finpunkto.
Via aplikaĵo demandas al CFNetwork kiel atingi retejon kaj ricevas URL-on finiĝantan per .pac. Meti tiun gastigantnomon en la soketan konekton estas malĝusta vojo: ĝi identigas agordan skripton.
CFNetworkCopyProxiesForURL redonas ordigitan tabelon de vortaroj por la cela URL. Kontrolu kCFProxyTypeKey antaŭ ol legi la kampojn de la finpunkto. Vortaro de tipo kCFProxyTypeAutoConfigurationURL liveras kCFProxyAutoConfigurationURLKey, kiu postulas plian taksadan paŝon.
- Akiru la nunajn sistemajn prokurajn agordojn kaj petu vojojn al la reala cela URL.
- Kiam rezulto rilatas al PAC-URL, taksu tiun skripton por la sama celo.
- Legu la rezultajn kandidatajn tipojn kaj finpunktojn. HTTP-prokurilo, SOCKS-prokurilo kaj rekta vojo postulas malsamajn konektotraktadojn.
- Konservu la ordon de la kandidatoj dum vi aplikas la permesitan konduton de malsukceso kaj rezervo.
CFNetworkExecuteProxyAutoConfigurationURL elŝutas kaj takas la skripton nesinkrone. Ĝia tuja redonvaloro estas fonto de run loop. Planu tiun fonton; la revokado liveras la taksadan rezulton aŭ eraron post kiam la laboro finiĝas. Krei la fonton kaj tuj legi malplenan rezultvariablon atendas nenion. Malvalidigu la fonton se la operacio devas esti nuligita.
Tenu la celan URL-on ligita al la serĉo. PAC-skripto povas elekti malsamajn vojojn por du gastigantoj, do konservi unu solvitan prokurilon kiel la respondon por ĉiu sekva celo ŝanĝas la politikon de la skripto. Same, rekta kandidato estas eksplicita vojo, ne mankanta prokura gastigantnomo.
Ĉi tiuj API-oj utilas kiam propra transporto devas interpreti sistemajn agordojn. Ili ne efektivigas la sekvan prokuran protokolon por tiu transporto, kaj la serĉo ne prenas pasvortojn el la Keychain. Sur macOS, kunordigu aparte la prokuran akreditaĵon en Keychain.