သင့်အက်ပ်သည် CFNetwork ကို ဝဘ်ဆိုက်တစ်ခုသို့ မည်သို့ရောက်ရမည်ကို မေးပြီး .pac ဖြင့် အဆုံးသတ်သော URL ကို ရရှိသည်။ ထို hostname ကို socket ချိတ်ဆက်မှုထဲ ထည့်ခြင်းသည် မှားသော လမ်းဖြစ်သည်- ၎င်းသည် ဖွဲ့စည်းမှု စကရစ်ပ်ကို ရည်ညွှန်းသည်။

CFNetworkCopyProxiesForURL သည် ပစ်မှတ် URL အတွက် အစီအစဉ်တကျ အဘိဓာန်များ၏ အခင်းကို ပြန်ပေးသည်။ အဆုံးမှတ် အကွက်များကို မဖတ်မီ kCFProxyTypeKey ကို စစ်ဆေးပါ။ kCFProxyTypeAutoConfigurationURL အမျိုးအစား အဘိဓာန်သည် kCFProxyAutoConfigurationURLKey ကို ပေးသည်၊ ၎င်းသည် နောက်ထပ် အကဲဖြတ်မှု အဆင့်တစ်ခု လိုအပ်သည်။

  1. စနစ်၏ လက်ရှိ ပရောက်စီ ဆက်တင်များကို ရယူပြီး အမှန်တကယ် ဦးတည်ရာ URL သို့ လမ်းကြောင်းများ တောင်းပါ။
  2. ရလဒ်က PAC URL ကို ရည်ညွှန်းပါက ထို စကရစ်ပ်ကို တူညီသော ဦးတည်ရာအတွက် အကဲဖြတ်ပါ။
  3. ရရှိသော ကိုယ်စားလှယ်လောင်းများ၏ အမျိုးအစားနှင့် အဆုံးမှတ်များကို ဖတ်ပါ။ HTTP ပရောက်စီ၊ SOCKS ပရောက်စီနှင့် တိုက်ရိုက် လမ်းကြောင်းတို့သည် မတူညီသော ချိတ်ဆက်မှု ကိုင်တွယ်မှု လိုအပ်သည်။
  4. ခွင့်ပြုထားသော မအောင်မြင်မှုနှင့် အရန်အပြုအမူကို ကျင့်သုံးသောအခါ ကိုယ်စားလှယ်လောင်းများ၏ အစီအစဉ်ကို ထိန်းသိမ်းပါ။

CFNetworkExecuteProxyAutoConfigurationURL သည် စကရစ်ပ်ကို အချိန်မတစ်ပြိုင်နက် ဒေါင်းလုဒ်လုပ်ပြီး အကဲဖြတ်သည်။ ၎င်း၏ ချက်ချင်း ပြန်ပေးသော တန်ဖိုးသည် run loop အရင်းအမြစ် ဖြစ်သည်။ ထို အရင်းအမြစ်ကို အချိန်ဇယားဆွဲပါ။ အလုပ်ပြီးဆုံးပြီးနောက် callback သည် အကဲဖြတ်မှု ရလဒ် သို့မဟုတ် အမှားကို ပေးသည်။ အရင်းအမြစ်ကို ဖန်တီးပြီး ဗလာ ရလဒ် ကိန်းရှင်ကို ချက်ချင်း ဖတ်ခြင်းသည် ဘာကိုမျှ မစောင့်ပါ။ လုပ်ငန်းစဉ်ကို ပယ်ဖျက်ရမည်ဆိုပါက အရင်းအမြစ်ကို ပယ်ဖျက်ပါ။

ပစ်မှတ် URL ကို ရှာဖွေမှုနှင့် တွဲထားပါ။ PAC စကရစ်ပ်သည် host နှစ်ခုအတွက် မတူညီသော လမ်းကြောင်းများကို ရွေးချယ်နိုင်သည်၊ ထို့ကြောင့် ဖြေရှင်းပြီးသော ပရောက်စီတစ်ခုကို နောက်ဆက်တွဲ ဦးတည်ရာအားလုံးအတွက် အဖြေအဖြစ် သိမ်းဆည်းခြင်းသည် စကရစ်ပ်၏ မူဝါဒကို ပြောင်းလဲစေသည်။ အလားတူပင် တိုက်ရိုက် ကိုယ်စားလှယ်လောင်းသည် ရှင်းလင်းသော လမ်းကြောင်းဖြစ်ပြီး ပျောက်ဆုံးနေသော ပရောက်စီ hostname မဟုတ်ပါ။

ဤ API များသည် စိတ်ကြိုက် သယ်ယူပို့ဆောင်ရေးက စနစ် ဆက်တင်များကို အဓိပ္ပာယ်ဖွင့်ရန် လိုအပ်သောအခါ အသုံးဝင်သည်။ ၎င်းတို့သည် ထို သယ်ယူပို့ဆောင်ရေးအတွက် နောက်ဆက်တွဲ ပရောက်စီ ပရိုတိုကောကို အကောင်အထည် မဖော်ပါ၊ ရှာဖွေမှုသည် Keychain မှ စကားဝှက်များကို မယူပါ။ macOS တွင် Keychain ရှိ ပရောက်စီ အထောက်အထားကို သီးခြား ကိုက်ညီပါစေ။

ဆက်စပ်ဆောင်းပါးများ