CFNetwork-ის პროქსის ძიება არის C API, რომლის გამოყენებაც შესაძლებელია უშუალოდ C++-დან; ყველაფრის Objective-C ობიექტებად გადაქცევა სურვილისამებრია. გამოიძახეთ CFNetworkCopyProxiesForURL სამიზნე CFURL-ით და CFNetworkCopySystemProxySettings-ის პარამეტრებით, რათა მიიღოთ დალაგებული პროქსის ლექსიკონები.

მნიშვნელობასაკუთრება
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-ის შედეგზე საკუთრებას არ იძლევა.

დაკავშირებული სტატიები