Iskanje proxyja v CFNetwork je C API, ki ga je mogoče uporabljati neposredno iz C++; pretvarjanje vsega v objekte Objective-C je neobvezno. Pokličite CFNetworkCopyProxiesForURL s ciljnim CFURL in nastavitvami iz CFNetworkCopySystemProxySettings, da dobite urejene slovarje proxyja.

VrednostLastništvo
Objekti, ki jih ustvari ali vrne Copy, vključno s potmi in nastavitvamiV lasti klicatelja; sprostite vsak lastniški objekt, ki ni null
Slovar iz polja ali ime gostitelja iz slovarja prek GetIzposojeno; ne sprostite, ne da bi ga prej zadržali

Za veljavne routes in indeks v obsegu je lahko pridobivanje takšno:

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

Preberite kCFProxyTypeKey, preden vnos obravnavate kot končno točko. Neposredni in kandidati iz samodejne konfiguracije zahtevajo drugačno obravnavo.

Pretvorite ime gostitelja CFString in vrata CFNumber konkretnega vnosa, dokler je lastnik živ. Pridobljene vrednosti C++ lahko nato vstopijo v konfiguracijo prenosa. Če želite sam CFString obdržati tudi po rezultatu, ga najprej zadržite in pozneje to uravnotežite s CFRelease; sicer končajte, preden sprostite lastnika, ki ga vsebuje.

Ob čiščenju sprostite ustvarjeni/kopirani ciljni URL, slovar nastavitev in polje rezultatov, po potrebi z varovalom obsega. Sam tip CFStringRef spremenljivke ne daje lastništva nad rezultatom Get.

Sorodni članki