CFNetwork-ün proxy axtarışı C++ dilindən birbaşa istifadə oluna bilən C API-dir; hər şeyi Objective-C obyektlərinə çevirmək məcburi deyil. Sifarişli proxy lüğətləri almaq üçün CFNetworkCopyProxiesForURL funksiyasını hədəf CFURL və CFNetworkCopySystemProxySettings parametrləri ilə çağırın.

DəyərSahiblik
Copy tərəfindən yaradılan və ya qaytarılan obyektlər, marşrutlar və parametrlər daxil olmaqlaÇağıranın mülkiyyətindədir; hər boş olmayan sahibli obyekti buraxın
Massivdən alınan lüğət və ya Get vasitəsilə lüğətdən alınan host adıBorc alınmışdır; saxlamadan buraxmayın

Etibarlı routes və aralıqda olan indeks üçün çıxarış belə ola bilər:

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

Girişi son nöqtə kimi qəbul etməzdən əvvəl kCFProxyTypeKey oxuyun. Birbaşa və avtomatik-konfiqurasiya namizədləri fərqli rəftar tələb edir.

Sahib canlı qaldıqca konkret girişin CFString host adını və CFNumber portunu çevirin. Çıxarılmış C++ dəyərləri sonra nəqliyyatın konfiqurasiyasına daxil ola bilər. CFString-in özünü nəticədən sonra saxlamaq üçün əvvəlcə onu saxlayın və sonra CFRelease ilə tarazlaşdırın; əks halda onu saxlayan sahibi buraxmazdan əvvəl işi bitirin.

Təmizləmə zamanı yaradılmış/kopyalanmış hədəf URL-i, parametrlər lüğətini və nəticə massivini buraxın, lazım gələrsə əhatə qoruyucusundan istifadə edin. Dəyişənin yalnız CFStringRef tipi Get nəticəsi üzərində sahiblik vermir.

Əlaqəli məqalələr