CFNetwork прокси нәтижелерін C++ ішінде тікелей оқу
Apple-дың C прокси іздеу API-лерін C++-тен пайдаланып, қарызға алынған сөздік мәндерін меншікті нысан ретінде босатпай тірі ұстаңыз.
CFNetwork прокси іздеуі — C++-тен тікелей қолдануға болатын C API; бәрін 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 нәтижесіне меншік бермейді.