Пребарувањето прокси на 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.

Поврзани статии