Pretraga proxyja u CFNetwork je C API koji se može koristiti direktno iz C++; pretvaranje svega u Objective-C objekte je opcionalno. Pozovite CFNetworkCopyProxiesForURL s ciljnim CFURL-om i postavkama iz CFNetworkCopySystemProxySettings da dobijete uređene rječnike proxyja.

VrijednostVlasništvo
Objekti koje Copy stvara ili vraća, uključujući rute i postavkeVlasništvo pozivaoca; oslobodite svaki posjedovani objekat koji nije null
Rječnik iz niza ili ime hosta iz rječnika preko GetPozajmljeno; ne oslobađajte bez prethodnog zadržavanja

Za važeće routes i indeks u rasponu, izdvajanje može biti:

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

Pročitajte kCFProxyTypeKey prije nego unos tretirate kao krajnju točku. Direktni i kandidati automatske konfiguracije zahtijevaju različito rukovanje.

Pretvorite CFString ime hosta i CFNumber port konkretnog unosa dok je vlasnik živ. Izvučene C++ vrijednosti mogu potom ući u konfiguraciju transporta. Da biste zadržali sam CFString nakon rezultata, prvo ga zadržite i kasnije to uravnotežite s CFRelease; u suprotnom završite prije oslobađanja vlasnika koji ga sadrži.

Pri čišćenju oslobodite kreirani/kopirani ciljni URL, rječnik postavki i niz rezultata, koristeći čuvar opsega ako je prikladno. Sam tip CFStringRef varijable ne daje vlasništvo nad Get rezultatom.

Povezani članci