CFNetworkCopyProxiesForURL кайтарган PAC URL даректерин баалоо
PAC дарегин проксинин акыркы чекити деп адаштырбастан, CFNetwork автоматтык прокси конфигурациясынын жыйынтыктарын максатка арналган маршруттарга айландырыңыз.
Колдонмоңуз CFNetworkтен веб-сайтка кантип жетүүнү сурап, .pac менен бүткөн URL алат. Ошол хост атын socket байланышына коюу туура эмес жол: ал конфигурация скриптин белгилейт.
CFNetworkCopyProxiesForURL максаттуу URL үчүн сөздүктөрдүн иреттелген массивин кайтарат. Акыркы чекиттин талааларын окуудан мурун kCFProxyTypeKey текшериңиз. kCFProxyTypeAutoConfigurationURL түрүндөгү сөздүк kCFProxyAutoConfigurationURLKey берет, ал дагы бир баалоо кадамын талап кылат.
- Системанын учурдагы прокси параметрлерин алып, чыныгы максаттуу URL ге маршруттарды сураңыз.
- Жыйынтык PAC URL ге шилтеме кылса, ошол скриптти ошол эле максат үчүн баалаңыз.
- Алынган талапкерлердин түрлөрүн жана акыркы чекиттерин окуңуз. HTTP прокси, SOCKS прокси жана түз маршрут байланышты ар башка иштетүүнү талап кылат.
- Уруксат берилген ишке ашпоо жана камдык жүрүм-турумду колдонууда талапкерлердин тартибин сактаңыз.
CFNetworkExecuteProxyAutoConfigurationURL скриптти асинхрондуу түрдө жүктөп, баалайт. Анын дароо кайтарган мааниси run loop булагы. Ошол булакты пландаштырыңыз; иш бүткөндөн кийин callback баалоо жыйынтыгын же катаны берет. Булакты түзүп, бош жыйынтык өзгөрмөсүн дароо окуу эч нерсени күтпөйт. Операцияны токтотуу керек болсо, булакты жараксыз кылыңыз.
Максаттуу URL ди издөөгө байланыштырып кармаңыз. PAC скрипти эки хост үчүн ар башка маршрут тандай алат, ошондуктан бир чечилген проксини кийинки бардык максаттарга жооп катары сактоо скрипттин саясатын өзгөртөт. Ошо сыяктуу эле, түз талапкер ачык маршрут, жок прокси хост аты эмес.
Бул APIлер ыңгайлаштырылган транспорт система параметрлерин чечмелеши керек болгондо пайдалуу. Алар ошол транспорт үчүн кийинки прокси протоколун ишке ашырбайт жана издөө Keychainден сырсөздөрдү албайт. macOSте прокси күбөлүгүн Keychainде өзүнчө дал келтириңиз.