Python Requests: ပရောက်စီနှင့် ဝဘ်ဆိုက်အတွက် သီးခြား Basic လော့ဂ်အင်
ပရောက်စီ၏ Basic လော့ဂ်အင်ကို ၎င်း၏ URL မှတစ်ဆင့်၊ ပန်းတိုင်ဝဘ်ဆိုက်၏ Basic လော့ဂ်အင်ကို Requests ၏ auth အချက်အလက်မှတစ်ဆင့် ပေးပို့ပါ။
ရုံးပရောက်စီက အကောင့်တစ်ခု တောင်းသည်။ ၎င်း၏နောက်ကွယ်ရှိ ဝဘ်ဆိုက်က အခြားတစ်ခုကို တောင်းသည်။ Requests တွင် ထို Basic လော့ဂ်အင်နှစ်ခုအတွက် သီးခြားထည့်သွင်းမှုများရှိသည်။ ပရောက်စီ URL ထဲရှိ အထောက်အထားများနှင့် တောင်းဆိုမှု၏ auth အချက်အလက် ဖြစ်သည်။
from urllib.parse import quote
import requests
proxy_url = (
f"http://{quote(proxy_user, safe='')}:"
f"{quote(proxy_password, safe='')}@proxy.example:8080"
)
response = requests.get(
"https://reports.example/private/",
proxies={"https": proxy_url},
auth=(site_user, site_password),
timeout=(5, 20),
)
response.raise_for_status()
အကောင့် variable လေးခုသည် အပ်ပလီကေးရှင်း၏ အထောက်အထား ဆက်တင်မှ လာသည်။ ပရောက်စီ အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို သီးခြားစီ ကုဒ်ပြောင်းခြင်း သည် at သင်္ကေတကဲ့သို့ စာလုံးများကို URL ခွဲခြားသတ်မှတ်ချက်များအဖြစ် မပြောင်းလဲဘဲ ထိန်းသိမ်းထားသည်။
အဘိဓာန်ထဲရှိ https သော့သည် HTTPS ပန်းတိုင်အတွက် ဤလမ်းကြောင်းကို ရွေးချယ်သည်။ ၎င်း၏တန်ဖိုးသည် http:// ဖြင့် စတင်နေဆဲဖြစ်သည်၊ အကြောင်းမှာ ဤဥပမာ ပရောက်စီသို့ ရောက်ရန် အသုံးပြုသော ပရိုတိုကောဖြစ်သည်။
ထို HTTPS တောင်းဆိုမှုအတွက် ပရောက်စီ လော့ဂ်အင်သည် CONNECT ဖလှယ်မှုတွင် ပါဝင်သည်။ ဝဘ်ဆိုက် လော့ဂ်အင်သည် တည်ဆောက်ပြီးသော ဥမင်လိုဏ်ခေါင်းမှတစ်ဆင့် နောက်ပိုင်းတောင်းဆိုမှုတွင် ပါဝင်သည်။ adapter က ပရောက်စီ ခွင့်ပြုချက်ကို ၎င်း၏ကိုယ်ပိုင် URL မှ ထုတ်ယူခွင့်ပြုခြင်းက သက်ဆိုင်ရာ hop တွင် ထားရှိစေသည်။ ဤ Basic အခြေအနေအတွက် ပေါင်းစပ် စစ်မှန်ကြောင်းအထောက်အထားပြခြင်း အတန်းအစား မလိုအပ်ပါ။
407 သည် ကြားခံ၏ စိန်ခေါ်မှုကို ဖော်ပြသည်။ ဝဘ်ဆိုက်မှ 401 သည် ပန်းတိုင်၏ စိန်ခေါ်မှုကို ဖော်ပြသည်။ သတ်မှတ်ထားသော အကောင့်နှစ်ခုအနက် မည်သည့်အကောင့်ကို အာရုံစိုက်ရမည်ကို ဆုံးဖြတ်ရန် ထိုတုံ့ပြန်မှုကို အသုံးပြုပါ။