407 Proxy Authentication Required ကို ဖြေရှင်းနည်း
Updated:
407 အမှားသည် ထင်ထားသည်ထက် ပိုကောင်းသော အခြေအနေဖြစ်သည် - သင့်စက်သည် ပရောက်စီသို့ ချိတ်ဆက်မိပြီး ကွန်ရက်လမ်းကြောင်း ပွင့်နေပါသည်။ ပရောက်စီဘက်က မှန်ကန်သော username နှင့် password မရရှိသေးကြောင်း ပြောနေခြင်းသာ ဖြစ်သည်။ ထို့ကြောင့် 407 ပြဿနာအားလုံးနီးပါးကို router သို့မဟုတ် firewall တွင် မဟုတ်ဘဲ အကောင့်ဝင်အချက်အလက် (credentials) ဘက်တွင်သာ ဖြေရှင်းနိုင်ပါသည်။
407 ဖြစ်ရသည့် အဖြစ်အများဆုံး အကြောင်းရင်းများ
- မှားယွင်းနေသော သို့မဟုတ် မထည့်ရသေးသော username/password။ စာလုံးတစ်လုံး မှားရိုက်မိခြင်း သို့မဟုတ် password နှင့်အတူ နောက်ကွယ်မှ space ပါ ကူးယူမိခြင်းတို့ ဖြစ်သည်။ ၎င်းသည် 407 ဖြစ်ရသည့် အဓိက အကြောင်းရင်းဖြစ်သည်။
- အကွက်မှား၍ paste လုပ်မိခြင်း။
ip:port:user:passတစ်ကြောင်းလုံးကို Host အကွက်ထဲ ထည့်မိခြင်း သို့မဟုတ် username ကို password အကွက်ထဲ ထည့်မိခြင်းတို့ ဖြစ်သည်။ အချို့တူးလ်များသည် အကွက် ၄ ခုကို အလိုအလျောက် ခွဲပေးသော်လည်း အချို့မှာ မခွဲပေးပါ။ - အက်ပ်က အကောင့်ဝင်အချက်အလက်များကို လုံးဝမပို့ခြင်း။ လည်ပတ်မှုစနစ် (OS) ပရောက်စီ ဆက်တင်တွင် လိပ်စာနှင့် port ကိုသာ သိမ်းဆည်းထားသည်။ password တောင်းခံနိုင်စွမ်းမရှိသော အက်ပ်များသည် auth header မပါဘဲ ချိတ်ဆက်သောကြောင့် 407 ပြန်ရလာခြင်း ဖြစ်သည်။
- ပရောက်စီ URL အတွင်းရှိ အထူးသင်္ကေတများ။
http://user:pass@host:portပုံစံတွင် password ထဲ၌ ပါဝင်သော@၊:သို့မဟုတ်#ကဲ့သို့ သင်္ကေတများကို percent-encoded ပြုလုပ်ပေးရမည် (@သည်%40ဖြစ်သွားမည်)၊ မဟုတ်ပါက စာသားကို နေရာမှား ခွဲခြားသွားမည်ဖြစ်သည်။
407 အမှား အမှန်တကယ် ပြသပုံ
ကျွန်ုပ်တို့သည် စမ်းသပ်ပရောက်စီတစ်ခုတွင် ဤအမှားကို ပြန်လည်ဖော်ထုတ်ပြထားပြီး ရှင်းလင်းချက်လိပ်စာ 203.0.113.10:8080 နှင့် တမင်တကာမှားရိုက်ထားသော user123:pass456 ဖြင့် ပြသထားသည်။ HTTPS ဆိုက်တစ်ခုကို စမ်းသပ်ရာတွင် curl -x http://user123:[email protected]:8080 https://example.com သည် curl: (56) CONNECT tunnel failed, response 407 ဟု ဖော်ပြသည်။ ရိုးရိုး HTTP ဆိုက်တစ်ခုကို -w %{http_code} ဖြင့် စမ်းသပ်ရာတွင် curl သည် 407 ဟုသာ ဖော်ပြသည်။
အကောင့်ဝင်အချက်အလက်များကို ပေးပို့ခဲ့ခြင်း ရှိမရှိ စစ်ဆေးရန် -v ကို ထည့်သွင်းပါ။ ခြေရာခံမှတ်တမ်းတွင် > CONNECT example.com:443 HTTP/1.1၊ ထို့နောက် > Proxy-Authorization: Basic ... နှင့် ယင်းနောက်မှသာ 407 ကို တွေ့ရမည်ဖြစ်သည်။ Proxy-Authorization စာကြောင်း ပျောက်ဆုံးနေပါက သင့် client သည် လော့ဂ်အင်ကို မည်သည့်အခါမျှ မပို့ခဲ့ခြင်းဖြစ်သည်။
VinaProxy ၏ proxy checker သည် အဆိုပါပြဿနာကို auth failed (407) အဖြစ် ဖော်ပြသည်။ လော့ဂ်အင် dialog မပါဝင်သော Headless Chrome တွင် ၎င်းကို ERR_TUNNEL_CONNECTION_FAILED အဖြစ် ပြသမည်ဖြစ်ပြီး tunnel error page တွင် ကြည့်ရှုနိုင်ပါသည်။
အသုံးပြုသည့် စနစ်အလိုက် ဖြေရှင်းနည်းများ
- Windows နှင့် Chrome - Chrome သည် လိပ်စာနှင့် port ကိုသာ သိမ်းဆည်းသော Windows ပရောက်စီ ဆက်တင် (Settings > Network & Internet > Proxy) ကို လိုက်နာသည်။ စာမျက်နှာ စတင်ဖွင့်ချိန်တွင် Chrome သည် ပရောက်စီ username နှင့် password အတွက် sign-in dialog ကို ဖွင့်ပေးမည်ဖြစ်သည်။ အကယ်၍ မှားယိုက်မိပြီး dialog ပြန်မပေါ်လာပါက Chrome ဝင်းဒိုးအားလုံးကို ပိတ်ပြီး ပြန်ဖွင့်ပါ။
- Antidetect ဘရောက်ဇာများ (AdsPower, GoLogin, GenLogin) - Host၊ Port၊ Username နှင့် Password တို့ကို သီးခြားအကွက်များတွင် ထားပါ။ password အကွက်ကို ပြင်ဆင်မည့်အစား လုံးဝရှင်းထုတ်ပြီး အသစ်ပြန် paste လုပ်ပါ။ အကွက်တစ်ခုချင်းစီအတွက် အသေးစိတ်ကို GoLogin setup guide တွင် ကြည့်ရှုနိုင်ပါသည်။
- ဖုန်းများ - iPhone တွင် Settings > Wi-Fi > (i) > Configure Proxy အောက်၌ Authentication ခလုတ် ရှိပြီး ၎င်းကို ပိတ်ထားပါက 407 ဖြစ်စေနိုင်သည်။ Android သည် များသောအားဖြင့် host နှင့် port ကိုသာ လက်ခံသောကြောင့် လော့ဂ်အင်လိုအပ်သည့် အက်ပ်များသည် ယေဘုယျ ချိတ်ဆက်မှု အမှားကိုသာ ပြသနိုင်သည်။
- curl - URL ထဲတွင် ထည့်သွင်းမည့်အစား
-U "user:pass"ကို သီးခြားစီ ဖြတ်သန်းထည့်သွင်းပါ၊ ၎င်းသည် အထူးသင်္ကေတ ပြဿနာများကို ရှောင်ရှားစေနိုင်သည်။ - Python requests -
proxiesdict ၏httpနှင့်httpskeys နှစ်ခုစလုံးအတွက်http://user:pass@host:portကို သတ်မှတ်ပေးပြီး ရှုပ်ထွေးသော password များကိုurllib.parse.quoteဖြင့် encode လုပ်ပါ။
အကောင့်ဝင်အချက်အလက် မှန်ကန်သော်လည်း 407 ဆက်ဖြစ်နေခြင်း
ထို့နောက် ပရိုတိုကောများကို နှိုင်းယှဉ်စစ်ဆေးပါ။ VinaProxy သည် user:pass လော့ဂ်အင်ပါဝင်သော HTTP(S) ပရောက်စီများနှင့် SOCKS5 ကိုပါ ရောင်းချသောကြောင့် dashboard ရှိ သင့်အော်ဒါတွင် ဖော်ပြထားသည့် ပရိုတိုကောကို ရွေးချယ်ပါ။ အကယ်၍ စစ်ဆေးသည့်တူးလ်က not socks5 ဟု ဖြေကြားပါက ထို port သည် HTTP သုံးနေခြင်းဖြစ်ပြီး SOCKS5 အဖြစ် သတ်မှတ်ခြင်း မပြုသင့်ပါ။
အဆင့်ဆင့် လုပ်ဆောင်ရန်
- 1
Dashboard မှ ပရောက်စီစာကြောင်းကို ကူးယူပါ
သင့် VinaProxy dashboard ရှိ အော်ဒါကို ဖွင့်ပြီး ကိုယ်တိုင်ရိုက်မည့်အစား စာကြောင်းအပြည့်အစုံကို ကူးယူပါ။
- 2
Proxy checker ဖြင့် စစ်ဆေးပါ
၎င်းကို proxy checker ထဲသို့ paste လုပ်ပါ။
auth failed (407)ရလဒ် ထွက်ပေါ်လာခြင်းသည် ကွန်ရက်ပြဿနာ မဟုတ်ဘဲ အကောင့်ဝင်အချက်အလက် ပြဿနာဖြစ်ကြောင်း အတည်ပြုပေးသည်။ - 3
Username နှင့် password ကို သန့်ရှင်းစွာ ပြန်ထည့်ပါ
သင့်ဆော့ဖ်ဝဲလ်ရှိ အကွက်နှစ်ခုစလုံးကို ရှင်းလင်းပြီး ရှေ့နှင့်နောက်တွင် space မပါဘဲ ပြန်လည် paste လုပ်ပါ။
- 4
ပရိုတိုကောကို အော်ဒါနှင့် ကိုက်ညီအောင် ပြုလုပ်ပါ
ပရောက်စီအမျိုးအစားကို အော်ဒါတွင် ဖော်ပြထားသည့်အတိုင်း HTTP သို့မဟုတ် SOCKS5 အတိအကျ သတ်မှတ်ပြီး သိမ်းဆည်းပါ။
- 5
မပြေလည်သေးပါက curl -v ဖြင့် စစ်ဆေးပါ
သင့်တန်ဖိုးအစစ်အမှန်များဖြင့်
curl -vကို run ပြီး 407 မတိုင်မီProxy-Authorizationစာကြောင်း ပါဝင်ခြင်း ရှိမရှိ စစ်ဆေးပါ။
မကြာခဏမေးလေ့ရှိသော မေးခွန်းများ
407 သည် ကျွန်ုပ်၏ ISP က ပရောက်စီကို ပိတ်ပင်ထားခြင်းကြောင့် ဖြစ်ပါသလား။
မဟုတ်ပါ။ 407 သည် ပရောက်စီကိုယ်တိုင်က ပေးပို့ခြင်းဖြစ်သောကြောင့် ချိတ်ဆက်မှု အောင်မြင်ခဲ့ခြင်းဖြစ်သည်။ လမ်းကြောင်းပိတ်ပင်ခံရပါက timeout သို့မဟုတ် ချိတ်ဆက်မှု ငြင်းပယ်ခံရခြင်းအဖြစ် ပြသမည်ဖြစ်ပြီး proxy timeout တွင် ကြည့်ရှုပါ။
Chrome က ပရောက်စီလော့ဂ်အင်ကို အဘယ်ကြောင့် ထပ်ခါတလဲလဲ တောင်းနေသနည်း။
မှားယွင်းစွာ ရိုက်ထည့်မှုတိုင်းအတွက် နောက်ထပ် 407 တစ်ခု ရရှိပြီး Chrome က ထပ်မံတောင်းခံခြင်းဖြစ်သည်။ Caps Lock ကို စစ်ဆေးပြီး ဗီယက်နမ်စာ သို့မဟုတ် အခြား input method များက password တွင် သင်္ကေတများ မထည့်မိစေရန် သေချာပါစေ။
@ ပါဝင်သော password ကို ပရောက်စီ URL ထဲသို့ မည်သို့ ထည့်သွင်းရမည်နည်း။
Encode ပြုလုပ်ပါ - @ ကို %40၊ : ကို %3A၊ # ကို %23 အဖြစ် ပြောင်းပါ။ curl တွင် -U flag သုံးပါက encode ပြုလုပ်ရန် လုံးဝမလိုအပ်ပါ။
Selenium သို့မဟုတ် Puppeteer သည် 407 အစား tunnel error ကို ပြသနေသည်။ ပြဿနာအတူတူပင်လား။
များသောအားဖြင့် အတူတူပင်ဖြစ်သည်။ Headless Chrome သည် လော့ဂ်အင် dialog ကို မပြသနိုင်သောကြောင့် 407 သည် ERR_TUNNEL_CONNECTION_FAILED အဖြစ် ပေါ်လာခြင်းဖြစ်သည်။ Selenium guide တွင် ဖော်ပြထားသည့်အတိုင်း library ၏ auth နည်းလမ်းမှတစ်ဆင့် အကောင့်ဝင်အချက်အလက်များကို ပေးပို့ပါ။
အကောင့်ဝင်အချက်အလက် အတိအကျပါဝင်သော သီးသန့်ပရောက်စီများ
VinaProxy အော်ဒါတိုင်းတွင် တစ်ကြိမ်ကူးယူရုံဖြင့် မည်သည့်နေရာမဆို paste လုပ်နိုင်သည့် အဆင်သင့် ip:port:user:pass စာကြောင်းကို ရရှိမည်ဖြစ်သည်။
ပရောက်စီ ဈေးနှုန်းများကို ကြည့်ရန်