Kusoma matokeo ya proksi ya CFNetwork moja kwa moja katika C++
Tumia API za C za utafutaji wa proksi za Apple kutoka C++ na uendelee kuwa hai thamani za kamusi zilizokopwa bila kuziacha kama vipengee vinavyomilikiwa.
Utafutaji wa proksi wa CFNetwork ni C API inayoweza kutumika moja kwa moja kutoka C++; kubadilisha kila kitu kuwa vipengee vya Objective-C ni hiari. Ita CFNetworkCopyProxiesForURL ukiwa na CFURL lengwa na mipangilio kutoka CFNetworkCopySystemProxySettings ili kupata kamusi za proksi zilizopangwa.
| Thamani | Umiliki |
|---|---|
| Vipengee vilivyoundwa au kurudishwa na Copy, ikiwa ni pamoja na njia na mipangilio | Vinamilikiwa na mwitaji; acha kila kipengee kinachomilikiwa kisicho null |
| Kamusi kutoka kwa safu au jina la mwenyeji kutoka kwa kamusi kupitia Get | Iliyokopwa; usiiachie bila kuishikilia kwanza |
Kwa routes halali na kielekezi kilicho ndani ya masafa, uchimbaji unaweza kuwa:
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
Soma kCFProxyTypeKey kabla ya kuchukulia ingizo kama sehemu ya mwisho. Wagombea wa moja kwa moja na wa usanidi wa kiotomatiki wanahitaji utunzaji tofauti.
Badilisha jina la mwenyeji la CFString na bandari ya CFNumber ya ingizo mahususi wakati mmiliki anaishi. Thamani za C++ zilizochimbwa zinaweza kisha kuingia katika usanidi wa usafirishaji. Ili kuendelea kuwa na CFString yenyewe baada ya matokeo, ishikilie kwanza kisha ulinganishe na CFRelease; vinginevyo maliza kabla ya kumwachilia mmiliki anayeihifadhi.
Wakati wa kusafisha, acha URL lengwa iliyoundwa/iliyonakiliwa, kamusi ya mipangilio na safu ya matokeo, ukitumia mlinzi wa wigo inapofaa. Aina ya CFStringRef ya kigeuzi peke yake haitoi umiliki juu ya matokeo ya Get.