CFNetwork-ի proxy որոնումը C API է, որը կարելի է օգտագործել ուղղակիորեն C++-ից. ամեն ինչ Objective-C օբյեկտների վերածելը պարտադիր չէ։ Կանչեք CFNetworkCopyProxiesForURL-ը թիրախ CFURL-ով և CFNetworkCopySystemProxySettings-ի կարգավորումներով՝ ստանալու կարգավորված proxy բառարաններ։

ԱրժեքՍեփականություն
Copy-ի ստեղծած կամ վերադարձրած օբյեկտները, ներառյալ երթուղիները և կարգավորումներըՊատկանում է կանչողին. ազատեք յուրաքանչյուր ոչ զրոյական սեփական օբյեկտ
Զանգվածից ստացված բառարան կամ Get-ի միջոցով բառարանից ստացված հոսթի անունՓոխառված. մի ազատեք առանց այն պահելու

Վավեր routes-ի և միջակայքում գտնվող ինդեքսի դեպքում արդյունահանումը կարող է լինել՝

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

Կարդացեք kCFProxyTypeKey-ը նախքան գրառումը որպես վերջնակետ դիտարկելը։ Ուղղակի և ավտոմատ կարգավորման թեկնածուները տարբեր մշակում են պահանջում.

Փոխակերպեք կոնկրետ գրառման CFString հոսթի անունը և CFNumber պորտը, քանի դեռ սեփականատերը կենդանի է։ Արդյունահանված C++ արժեքները կարող են այնուհետև մտնել տրանսպորտի կարգավորում։ Ինքը CFString-ը արդյունքից հետո պահելու համար նախ պահեք այն, ապա հավասարակշռեք CFRelease-ով. հակառակ դեպքում ավարտեք նախքան այն պարունակող սեփականատիրոջը ազատելը։

Մաքրման ժամանակ ազատեք ստեղծված/պատճենված թիրախ URL-ը, կարգավորումների բառարանը և արդյունքի զանգվածը՝ անհրաժեշտության դեպքում օգտագործելով շրջանակի պահապան։ Միայն փոփոխականի CFStringRef տիպը սեփականություն չի տալիս Get-ի արդյունքի վրա։

Առնչվող հոդվածներ