CFNetworkCopyProxiesForURL tarafından döndürülen PAC URL'lerini değerlendirin
CFNetwork otomatik proxy yapılandırma sonuçlarını, PAC adresini proxy uç noktasıyla karıştırmadan hedefe özgü yollara dönüştürün.
Uygulamanız CFNetwork'e bir web sitesine nasıl ulaşılacağını sorar ve .pac ile biten bir URL alır. Bu ana bilgisayar adını socket bağlantısına koymak yanlış yoldur: bu ad bir yapılandırma betiğini tanımlar.
CFNetworkCopyProxiesForURL hedef URL için sıralı bir sözlük dizisi döndürür. Uç nokta alanlarını okumadan önce kCFProxyTypeKey anahtarını inceleyin. kCFProxyTypeAutoConfigurationURL türündeki bir sözlük kCFProxyAutoConfigurationURLKey sağlar ve bu da başka bir değerlendirme adımı gerektirir.
- Sistemin geçerli proxy ayarlarını alın ve gerçek hedef URL'ye giden yolları isteyin.
- Bir sonuç PAC URL'sine başvurduğunda, o betiği aynı hedef için değerlendirin.
- Ortaya çıkan adayların türlerini ve uç noktalarını okuyun. HTTP proxy, SOCKS proxy ve doğrudan yol farklı bağlantı işleme gerektirir.
- İzin verilen hata ve yedek davranışını uygularken adayların sırasını koruyun.
CFNetworkExecuteProxyAutoConfigurationURL betiği eşzamansız olarak indirir ve değerlendirir. Hemen döndürdüğü değer bir run loop kaynağıdır. Bu kaynağı zamanlayın; iş tamamlandığında geri çağırma değerlendirme sonucunu veya hatayı verir. Kaynağı oluşturup boş bir sonuç değişkenini hemen okumak hiçbir şeyi beklemez. İşlem iptal edilecekse kaynağı geçersiz kılın.
Hedef URL'yi aramaya bağlı tutun. Bir PAC betiği iki ana bilgisayar için farklı yollar seçebilir; bu nedenle çözümlenmiş tek bir proxy'yi sonraki her hedefin yanıtı olarak saklamak betiğin ilkesini değiştirir. Aynı şekilde, doğrudan aday açık bir yoldur, eksik bir proxy ana bilgisayar adı değildir.
Bu API'ler özel bir taşıma sistem ayarlarını yorumlamak zorunda olduğunda yararlıdır. O taşıma için sonraki proxy protokolünü uygulamazlar ve arama Keychain'den parola almaz. macOS'te proxy kimlik bilgisini Keychain'de ayrı olarak eşleştirin.