Ang paghahanap ng proxy ng CFNetwork ay isang C API na magagamit nang direkta mula sa C++; ang pag-convert ng lahat sa mga bagay na Objective-C ay opsyonal. Tawagin ang CFNetworkCopyProxiesForURL kasama ang target na CFURL at mga setting mula sa CFNetworkCopySystemProxySettings upang makakuha ng mga nakaayos na dictionary ng proxy.

HalagaPagmamay-ari
Mga bagay na ginawa o ibinalik ng Copy, kabilang ang mga ruta at settingPag-aari ng tumatawag; ilabas ang bawat pag-aaring bagay na hindi null
Dictionary mula sa array o hostname mula sa dictionary sa pamamagitan ng GetHiram; huwag ilabas nang hindi ito hawak

Para sa mga wastong routes at index na nasa saklaw, ang pagkuha ay maaaring:

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

Basahin ang kCFProxyTypeKey bago ituring ang entry bilang endpoint. Ang mga direktang kandidato at kandidato ng awtomatikong pagsasaayos ay nangangailangan ng magkaibang pagtrato.

I-convert ang CFString hostname at CFNumber port ng isang partikular na entry habang buhay ang may-ari. Ang mga nakuhang halaga sa C++ ay maaaring pumasok sa pagsasaayos ng transport. Upang panatilihin ang CFString mismo lampas sa resulta, hawakan muna ito at balansehin ito sa CFRelease sa ibang pagkakataon; kung hindi, tapusin bago ilabas ang may-ari na naglalaman nito.

Sa paglilinis, ilabas ang ginawa/kinopyang target na URL, dictionary ng setting at array ng resulta, gamit ang scope guard kung angkop. Ang uri lamang na CFStringRef ng isang variable ay hindi nagbibigay ng pagmamay-ari sa resulta ng Get.

Kaugnay na mga artikulo