Таны апп CFNetwork-ээс вэб сайтад хэрхэн хүрэхийг асууж, .pac-ээр төгсдөг URL авдаг. Тэр хостын нэрийг socket холболтод хийх нь буруу зам: энэ нь тохиргооны скриптийг заадаг.

CFNetworkCopyProxiesForURL зорилтот URL-ийн хувьд толь бичгүүдийн эрэмбэлэгдсэн массив буцаана. Төгсгөлийн цэгийн талбаруудыг уншихаас өмнө kCFProxyTypeKey-г шалгаарай. kCFProxyTypeAutoConfigurationURL төрлийн толь бичиг kCFProxyAutoConfigurationURLKey-г өгдөг бөгөөд энэ нь дахин нэг үнэлгээний алхам шаарддаг.

  1. Системийн одоогийн прокси тохиргоог авч, бодит зорилтот URL руу чиглэсэн маршрутыг хүс.
  2. Үр дүн PAC URL-ийг зааж байвал тухайн скриптийг мөн адил очих газарт үнэл.
  3. Гарсан нэр дэвшигчдийн төрөл, төгсгөлийн цэгүүдийг унш. HTTP прокси, SOCKS прокси, шууд маршрут нь холболтын өөр өөр зохицуулалт шаарддаг.
  4. Зөвшөөрөгдсөн алдаа болон нөөц зан төлөвийг хэрэглэхдээ нэр дэвшигчдийн дарааллыг хадгал.

CFNetworkExecuteProxyAutoConfigurationURL скриптийг асинхроноор татаж, үнэлдэг. Түүний шууд буцаах утга нь run loop-ийн эх сурвалж юм. Тэр эх сурвалжийг төлөвлө; ажил дууссаны дараа callback нь үнэлгээний үр дүн эсвэл алдааг өгнө. Эх сурвалжийг үүсгээд хоосон үр дүнгийн хувьсагчийг шууд унших нь юу ч хүлээхгүй. Үйлдлийг цуцлах шаардлагатай бол эх сурвалжийг хүчингүй болго.

Зорилтот URL-ийг хайлтад холбосон байлга. PAC скрипт хоёр хостын хувьд өөр маршрут сонгож болох тул шийдэгдсэн нэг проксийг дараагийн бүх очих газарт хариулт болгон хадгалах нь скриптийн бодлогыг өөрчилдөг. Мөн шууд нэр дэвшигч нь тодорхой маршрут бөгөөд алга болсон прокси хостын нэр биш.

Эдгээр API нь өөрөөр хийсэн тээвэрлэлт системийн тохиргоог тайлбарлах шаардлагатай үед хэрэгтэй. Тэд тухайн тээвэрлэлтийн дараагийн прокси протоколыг хэрэгжүүлдэггүй бөгөөд хайлт Keychain-ээс нууц үг авдаггүй. macOS дээр проксийн итгэмжлэлийг Keychain дээр тусад нь тааруул.

Холбоотой нийтлэлүүд