Programu yako inauliza CFNetwork jinsi ya kufikia tovuti na hupokea URL inayoishia kwa .pac. Kuweka jina hilo la mwenyeji kwenye muunganisho wa socket ni njia isiyo sahihi: linaonyesha hati ya usanidi.

CFNetworkCopyProxiesForURL hurudisha safu iliyopangwa ya kamusi kwa URL lengwa. Kagua kCFProxyTypeKey kabla ya kusoma sehemu za ncha. Kamusi ya aina kCFProxyTypeAutoConfigurationURL hutoa kCFProxyAutoConfigurationURLKey, ambayo inahitaji hatua nyingine ya tathmini.

  1. Pata mipangilio ya sasa ya proksi ya mfumo na uombe njia za kufikia URL halisi ya mwisho wa safari.
  2. Matokeo yanaporejelea URL ya PAC, tathmini hati hiyo kwa mwisho huo huo wa safari.
  3. Soma aina na ncha za wagombea wanaotokana. Proksi ya HTTP, proksi ya SOCKS na njia ya moja kwa moja zinahitaji utunzaji tofauti wa muunganisho.
  4. Hifadhi mpangilio wa wagombea unapotumia tabia inayoruhusiwa ya kushindwa na ya akiba.

CFNetworkExecuteProxyAutoConfigurationURL hupakua na kutathmini hati hiyo kwa njia isiyo ya wakati mmoja. Thamani yake ya mara moja ya kurejesha ni chanzo cha run loop. Panga chanzo hicho; callback hutoa matokeo ya tathmini au hitilafu baada ya kazi kukamilika. Kuunda chanzo na kusoma mara moja kigezo cha matokeo tupu hakusubiri chochote. Batilisha chanzo ikiwa operesheni inapaswa kughairiwa.

Weka URL lengwa ikiwa imeunganishwa na utafutaji. Hati ya PAC inaweza kuchagua njia tofauti kwa wenyeji wawili, kwa hivyo kuhifadhi proksi moja iliyotatuliwa kama jibu kwa kila mwisho unaofuata hubadilisha sera ya hati. Vivyo hivyo, mgombea wa moja kwa moja ni njia iliyo wazi, si jina la mwenyeji wa proksi lililokosekana.

API hizi zinafaa wakati usafirishaji maalum unapaswa kufasiri mipangilio ya mfumo. Hazitekelezi itifaki inayofuata ya proksi kwa usafirishaji huo, na utafutaji hauchukui manenosiri kutoka Keychain. Kwenye macOS, linganisha kitambulisho cha proksi katika Keychain kando.

Makala zinazohusiana