Funda imiphumela ye-proxy ye-CFNetwork ngqo ku-C++
Sebenzisa ama-API e-C okucinga nge-proxy akwa-Apple kusuka ku-C++ futhi ugcine amanani esichazamazwi abolekiwe ephila ngaphandle kokuwakhulula njengezinto eziphethwe.
Ukucinga nge-proxy kwe-CFNetwork iyi-C API esetshenziswa ngqo kusuka ku-C++; ukuguqula konke kube yizinto ze-Objective-C akusona isibopho. Shayela u-CFNetworkCopyProxiesForURL nge-CFURL oqondiwe kanye nezilungiselelo ezisuka ku-CFNetworkCopySystemProxySettings ukuze uthole izichazamazwi ze-proxy ezihleliwe.
| Inani | Ubunikazi |
|---|---|
| Izinto ezidalwa noma ezibuyiswa i-Copy, kuhlanganise nemizila nezilungiselelo | Zingumnikazi womshayeli; khulula yonke into ephethwe engesiyo null |
| Isichazamazwi esivela kuhlu noma igama lomsingathi elivela esichazamazwini nge-Get | Kubolekwe; ungakukhululi ngaphandle kokukubamba kuqala |
Kuma-routes avumelekile kanye nenkomba engaphakathi kwebanga, ukukhipha kungaba:
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
Funda u-kCFProxyTypeKey ngaphambi kokuthatha ingeno njengendawo yokugcina. Abazongenela ngqo nabazongenela ukuhlelwa okuzenzakalelayo badinga ukuphathwa okwehlukile.
Guqula igama lomsingathi le-CFString kanye nechweba le-CFNumber lengeno ethile ngenkathi umnikazi esaphila. Amanani e-C++ akhishiwe angabe esengena ekuhlelweni kwesidlulisi. Ukuze ugcine i-CFString uqobo ngemuva komphumela, qala uyibambe bese ulinganisela lokho nge-CFRelease; uma kungenjalo qeda ngaphambi kokukhulula umnikazi oyiphethe.
Lapho uhlanza, khulula i-URL eqondiwe eyadaliwe/ekopishiwe, isichazamazwi sezilungiselelo kanye nohlu lomphumelo, usebenzisa umqaphi webanga uma kufanelekile. Uhlobo lwe-CFStringRef lokuhlukahluka lodwa aluniki ubunikazi phezu komphumela we-Get.