Carian proksi CFNetwork ialah API C yang boleh digunakan terus daripada C++; menukar semuanya kepada objek Objective-C adalah pilihan. Panggil CFNetworkCopyProxiesForURL dengan CFURL sasaran dan tetapan daripada CFNetworkCopySystemProxySettings untuk memperoleh kamus proksi yang tersusun.

NilaiPemilikan
Objek yang dicipta atau dikembalikan oleh Copy, termasuk laluan dan tetapanDimiliki pemanggil; lepaskan setiap objek milik yang bukan null
Kamus daripada tatasusunan atau nama hos daripada kamus melalui GetDipinjam; jangan lepaskan tanpa menyimpannya dahulu

Untuk routes yang sah dan indeks dalam julat, pengekstrakan boleh jadi:

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

Baca kCFProxyTypeKey sebelum menganggap entri itu sebagai titik akhir. Calon langsung dan calon konfigurasi automatik memerlukan pengendalian berbeza.

Tukar nama hos CFString dan port CFNumber bagi entri tertentu selagi pemiliknya hidup. Nilai C++ yang diekstrak kemudian boleh masuk ke konfigurasi pengangkut. Untuk mengekalkan CFString itu sendiri selepas hasil, simpan dahulu dan imbangkan kemudian dengan CFRelease; jika tidak, selesaikan sebelum melepaskan pemilik yang menempatkannya.

Lepaskan URL sasaran yang dicipta/disalin, kamus tetapan dan tatasusunan hasil semasa pembersihan, gunakan pengawal skop jika sesuai. Jenis CFStringRef sesuatu pemboleh ubah sahaja tidak memberikan pemilikan ke atas hasil Get.

Artikel berkaitan