CFNetwork proxy araması, C++ içinden doğrudan kullanılabilen bir C API'sidir; her şeyi Objective-C nesnelerine dönüştürmek isteğe bağlıdır. Sıralı proxy sözlükleri elde etmek için CFNetworkCopyProxiesForURL işlevini hedef CFURL ve CFNetworkCopySystemProxySettings ayarlarıyla çağırın.

DeğerSahiplik
Copy tarafından oluşturulan veya döndürülen nesneler, rotalar ve ayarlar dahilÇağıranın sahipliğinde; null olmayan her sahipli nesneyi serbest bırakın
Diziden alınan sözlük veya Get aracılığıyla sözlükten alınan ana bilgisayar adıÖdünç alınmış; önceden elde tutmadan serbest bırakmayın

Geçerli routes ve aralık içinde bir dizin için çıkarma şöyle olabilir:

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

Girdiyi uç nokta olarak ele almadan önce kCFProxyTypeKey anahtarını okuyun. Doğrudan adaylar ve otomatik yapılandırma adayları farklı işlem gerektirir.

Sahibi canlıyken belirli bir girdinin CFString ana bilgisayar adını ve CFNumber bağlantı noktasını dönüştürün. Çıkarılan C++ değerleri daha sonra taşıyıcının yapılandırmasına girebilir. CFString'in kendisini sonucun ötesinde tutmak için önce onu elde tutun ve sonra bunu CFRelease ile dengeleyin; aksi halde onu içeren sahibi serbest bırakmadan önce işi bitirin.

Temizlik sırasında oluşturulan/kopyalanan hedef URL'yi, ayarlar sözlüğünü ve sonuç dizisini serbest bırakın; uygunsa bir kapsam koruyucusu kullanın. Bir değişkenin yalnızca CFStringRef türü olması, bir Get sonucu üzerinde sahiplik vermez.

İlgili makaleler