Процените PAC URL-ове које враћа CFNetworkCopyProxiesForURL
Претворите резултате аутоматске конфигурације проксија у CFNetwork-у у руте специфичне за одредиште без мешања PAC адресе са завршном тачком проксија.
Ваша апликација пита CFNetwork како да стигне до веб сајта и добија URL који се завршава на .pac. Стављање тог имена хоста у socket везу је погрешан пут: оно означава скрипту конфигурације.
CFNetworkCopyProxiesForURL враћа уређени низ речника за циљни URL. Проверите kCFProxyTypeKey пре читања поља завршне тачке. Речник типа kCFProxyTypeAutoConfigurationURL даје kCFProxyAutoConfigurationURLKey, који захтева још један корак процене.
- Преузмите тренутна системска подешавања проксија и затражите руте до стварног одредишног URL-а.
- Када се резултат односи на PAC URL, процените ту скрипту за исто одредиште.
- Прочитајте типове и завршне тачке добијених кандидата. HTTP прокси, SOCKS прокси и директна рута захтевају различито руковање везом.
- Сачувајте редослед кандидата приликом примене дозвољеног понашања квара и резерве.
CFNetworkExecuteProxyAutoConfigurationURL преузима и процењује скрипту асинхроно. Његова непосредна повратна вредност је извор run loop-а. Закажите тај извор; повратни позив даје резултат процене или грешку након завршетка посла. Стварање извора и тренутно читање празне променљиве резултата не чека ништа. Поништите извор ако операцију треба отказати.
Држите циљни URL везан за претрагу. PAC скрипта може изабрати различите руте за два хоста, па чување једног решеног проксија као одговора за свако следеће одредиште мења политику скрипте. Исто тако, директни кандидат је изричита рута, а не недостајуће име прокси хоста.
Ови API-ји су корисни када прилагођени транспорт мора да тумачи системска подешавања. Они не имплементирају следећи прокси протокол за тај транспорт, а претрага не преузима лозинке из Keychain-а. На macOS-у посебно ускладите прокси акредитиве у Keychain-у.