A CFNetwork proxykeresése olyan C API, amely közvetlenül használható C++-ból; mindent Objective-C objektumokká alakítani nem kötelező. Hívja meg a CFNetworkCopyProxiesForURL-t a cél CFURL-lel és a CFNetworkCopySystemProxySettings beállításaival, hogy rendezett proxyszótárakat kapjon.

ÉrtékTulajdonjog
A Copy által létrehozott vagy visszaadott objektumok, beleértve az útvonalakat és beállításokatA hívó tulajdona; szabadítson fel minden nem null tulajdonolt objektumot
Szótár a tömbből, illetve gazdanév a szótárból a Get-en keresztülKölcsönzött; ne szabadítsa fel anélkül, hogy megtartotta volna

Érvényes routes és tartományon belüli index esetén a kinyerés így nézhet ki:

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

Olvassa el a kCFProxyTypeKey-t, mielőtt a bejegyzést végpontként kezelné. A közvetlen és az automatikus konfigurációs jelöltek eltérő kezelést igényelnek.

Alakítsa át egy konkrét bejegyzés CFString gazdanevét és CFNumber portját, amíg a tulajdonos életben van. A kinyert C++ értékek ezután bekerülhetnek a szállító konfigurációjába. Ha magát a CFStringet az eredmény után is meg akarja tartani, először tartsa meg, majd később egyenlítse ezt ki CFRelease-szel; ellenkező esetben végezzen az előtt, hogy felszabadítaná az őt tartalmazó tulajdonost.

Takarításkor szabadítsa fel a létrehozott/másolt cél URL-t, a beállításszótárt és az eredménytömböt, szükség esetén hatókörőrrel. Egy változó CFStringRef típusa önmagában nem ad tulajdonjogot egy Get-eredmény felett.

Kapcsolódó cikkek