CFNetwork की प्रॉक्सी लुकअप एक C API है जिसे C++ से सीधे उपयोग किया जा सकता है; सब कुछ Objective-C वस्तुओं में बदलना वैकल्पिक है। क्रमबद्ध प्रॉक्सी शब्दकोश पाने के लिए CFNetworkCopyProxiesForURL को लक्ष्य CFURL और CFNetworkCopySystemProxySettings की सेटिंग्स के साथ कॉल करें।

मानस्वामित्व
Copy द्वारा बनाई या लौटाई गई वस्तुएँ, जिनमें रूट और सेटिंग्स शामिल हैंकॉलर के स्वामित्व में; प्रत्येक गैर-नल स्वामित्व वाली वस्तु मुक्त करें
सरणी से शब्दकोश या 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 परिणाम पर स्वामित्व नहीं देता।

संबंधित लेख