Nilai URL PAC yang Dikembalikan oleh CFNetworkCopyProxiesForURL
Tukar hasil konfigurasi proksi automatik CFNetwork kepada laluan khusus destinasi tanpa menyangka alamat PAC sebagai titik akhir proksi.
Aplikasi anda bertanya kepada CFNetwork cara mencapai tapak web dan menerima URL yang berakhir dengan .pac. Meletakkan nama hos itu ke dalam sambungan socket ialah langkah yang salah: ia mengenal pasti skrip konfigurasi.
CFNetworkCopyProxiesForURL mengembalikan tatasusunan kamus yang tersusun untuk URL sasaran. Periksa kCFProxyTypeKey sebelum membaca medan titik akhir. Kamus jenis kCFProxyTypeAutoConfigurationURL membekalkan kCFProxyAutoConfigurationURLKey, yang memerlukan satu lagi langkah penilaian.
- Dapatkan tetapan proksi sistem semasa dan minta laluan ke URL destinasi sebenar.
- Apabila hasil merujuk kepada URL PAC, nilai skrip itu untuk destinasi yang sama.
- Baca jenis dan titik akhir calon yang terhasil. Proksi HTTP, proksi SOCKS dan laluan terus memerlukan pengendalian sambungan yang berbeza.
- Kekalkan susunan calon semasa menggunakan tingkah laku kegagalan dan sandaran yang dibenarkan.
CFNetworkExecuteProxyAutoConfigurationURL memuat turun dan menilai skrip secara tak segerak. Nilai pulangannya yang segera ialah sumber run loop. Jadualkan sumber itu; callback memberikan hasil penilaian atau ralat selepas kerja selesai. Mencipta sumber lalu terus membaca pemboleh ubah hasil yang kosong tidak menunggu apa-apa. Batalkan sumber jika operasi perlu dibatalkan.
Kekalkan URL sasaran terikat pada carian. Skrip PAC boleh memilih laluan berbeza untuk dua hos, jadi menyimpan satu proksi yang telah diselesaikan sebagai jawapan untuk setiap destinasi berikutnya mengubah dasar skrip. Begitu juga, calon terus ialah laluan eksplisit, bukan nama hos proksi yang hilang.
API ini berguna apabila pengangkutan tersuai perlu mentafsir tetapan sistem. Ia tidak melaksanakan protokol proksi berikutnya untuk pengangkutan itu, dan carian tidak mengambil kata laluan daripada Keychain. Pada macOS, padankan kelayakan proksi dalam Keychain secara berasingan.