CFNetwork прокси жыйынтыктарын C++ ичинде түз окуу
Apple'дын C прокси издөө API'лерин C++'дан колдонуп, карызга алынган сөздүк маанилерин менчик объект катары бошотпой тирүү кармаңыз.
CFNetwork прокси издөө — C++'дан түз колдонууга боло турган C API; баарын Objective-C объектилерине айландыруу милдеттүү эмес. Иреттелген прокси сөздүктөрүн алуу үчүн CFNetworkCopyProxiesForURL'ды максаттуу CFURL жана CFNetworkCopySystemProxySettings жөндөөлөрү менен чакырыңыз.
| Маани | Менчик |
|---|---|
| Copy жараткан же кайтарган объектилер, маршруттар жана жөндөөлөр менен | Чакыргандын менчигинде; ар бир null эмес менчик объектини бошотуңуз |
| Массивден алынган сөздүк же 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 жыйынтыгына менчик бербейт.