WinHTTP တောင်းဆိုချက်တစ်ခုသည် ပရောက်စီတွင် စစ်မှန်ကြောင်းအထောက်အထား ပြုလုပ်ပြီး ဝက်ဘ်ဆိုက်၏ 401 ကို လက်ခံရယူကာ နောက်တစ်ကြိမ် ပို့ချိန်တွင် နောက်ထပ် 407 တစ်ခု ရရှိသည်။ ပရောက်စီနှင့် ဝက်ဘ်ဆိုက်တွင် သီးခြား စစ်မှန်ကြောင်းအထောက်အထား အခြေအနေများ ရှိပြီး ပြန်လည်ပို့သော လမ်းကြောင်းသည် နှစ်ခုစလုံးကို ထိန်းသိမ်းထားရမည်။

Microsoft ၏ မူရင်း WinHTTP စစ်မှန်ကြောင်းအထောက်အထား နမူနာသည် ရွေးချယ်ထားသော ပရောက်စီ အစီအစဉ်ကို ကိန်းရှင်တစ်ခုတွင် သိမ်းထားပြီး ထိုအစီအစဉ်ကို ရွေးချယ်ပြီးနောက် WinHttpSendRequest တစ်ခုချင်းစီ၏ ရှေ့တွင် ပရောက်စီ အကောင့်ကို ပြန်လည်အသုံးချသည်။

  1. တောင်းဆိုချက်ကို ပို့ပြီး တုံ့ပြန်ချက်ကို စစ်ဆေးပါ။
  2. 407 အတွက် ကမ်းလှမ်းထားသော အစီအစဉ်များကို မေးပြီး ရွေးချယ်ထားသော ပရောက်စီ အစီအစဉ်ကို မှတ်ထားပါ။
  3. ပြန်လည်မပို့မီ ထိုအစီအစဉ်နှင့် အကောင့်ဖြင့် WINHTTP_AUTH_TARGET_PROXY အတွက် WinHttpSetCredentials ကို ခေါ်ပါ။
  4. ဦးတည်ရာ၏ 401 အတွက် ၎င်း၏ အစီအစဉ်ကို ရယူပြီး ဆာဗာ အထောက်အထားများကို သတ်မှတ်ကာ နောက်တစ်ကြိမ် ပို့ရန် မှတ်ထားသော ပရောက်စီ အခြေအနေကို ထိန်းသိမ်းပါ။

နမူနာသည် ဆာဗာ စိန်ခေါ်မှု သို့မဟုတ် ပြန်လည်လွှဲပြောင်းမှု ပြီးနောက် ပြန်လည်စစ်မှန်ကြောင်းအထောက်အထား ပြုလုပ်ခြင်းကို ပရောက်စီ အထောက်အထားများ ပြန်လည်အသုံးချရသည့် အကြောင်းရင်းအဖြစ် အထူးဖော်ပြသည်။ ခေါ်ဆိုမှုကို ပထမ 407 အကိုင်းတွင်သာ ထားရှိပါက အခြား ပြန်လည်ကြိုးစားသည့် လမ်းကြောင်းတစ်ခုသည် မျှော်လင့်ထားသော ပြင်ဆင်မှုမပါဘဲ ကျန်နေနိုင်သည်။

API ရလဒ်တစ်ခုချင်းစီကို စစ်ဆေးပြီး ထပ်ခါတလဲလဲ မအောင်မြင်မှုများကို ကန့်သတ်ထားပါ။ Microsoft ၏ ကျစ်လျစ်သော နမူနာသည် ယခင် အခြေအနေကို ခြေရာခံပြီး ထုတ်လုပ်မှု ပြန်လည်ကြိုးစားသည့် မူဝါဒသည် ထပ်ခါတလဲလဲ လှည့်ပတ်သည့် အစီစဉ်ကိုလည်း အသိအမှတ်ပြုသင့်သည်။

မအောင်မြင်မှုပြီးနောက် အသုံးပြုသူက အစားထိုး အကောင့်ကို ပေးပါက ထို ပြန်လည်ပို့သည့် လမ်းကြောင်း အသုံးပြုသော တန်ဖိုးများကို အပ်ဒိတ်လုပ်ပါ။ WinHttpSetCredentials သည် တောင်းဆိုချက်အလိုက် ဖြစ်သည်။ ၎င်းသည် အနာဂတ် တောင်းဆိုချက်အားလုံးအတွက် အကြောင်းအရာ အစားထိုးခံရသော လုပ်ငန်းစဉ်အဆင့် စကားဝှက် သိုလှောင်ရာ မဟုတ်ပါ။

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