Претрага проксија у CFNetwork је C API који се може користити директно из C++; претварање свега у Objective-C објекте је опционо. Позовите CFNetworkCopyProxiesForURL са циљним CFURL-ом и поставкама из CFNetworkCopySystemProxySettings да добијете уређене речнике проксија.

ВредностВласништво
Објекти које Copy ствара или враћа, укључујући руте и поставкеВласништво позиваоца; ослободите сваки поседовани објекат који није null
Речник из низа или име хоста из речника преко GetПозајмљено; не ослобађајте без претходног задржавања

За важеће routes и индекс у опсегу, издвајање може бити:

CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
    CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
    CFDictionaryGetValue(proxy, kCFProxyHostNameKey));

Прочитајте kCFProxyTypeKey пре него што третирате унос као крајњу тачку. Директни и кандидати аутоматске конфигурације захтевају различито руковање.

Претворите CFString име хоста и CFNumber порт конкретног уноса док је власник жив. Извучене C++ вредности затим могу ући у конфигурацију транспорта. Да бисте задржали сам CFString након резултата, прво га задржите и касније то уравнотежите са CFRelease; у супротном завршите пре ослобађања власника који га садржи.

При чишћењу ослободите креирани/копирани циљни URL, речник поставки и низ резултата, користећи чувара опсега ако је прикладно. Само тип CFStringRef променљиве не даје власништво над Get резултатом.

Повезани чланци