urllib3 ProxyManager: proxy_headers တွင် Basic အထောက်အထားများ ပို့ခြင်း
Basic ပရောက်စီ အထောက်အထားများကို ProxyManager.proxy_headers မှတစ်ဆင့် ပေးအပ်ပြီး HTTPS CONNECT အတွင်း ရရှိနိုင်စေကာ ဦးတည်ရာ ခေါင်းစီးများ မဖြစ်စေရန်။
ProxyManager တွင် ကြားခံသို့ ပို့သော ခေါင်းစီးများအတွက် သီးခြား proxy_headers အငြင်းအခုံ ရှိသည်။ Basic စစ်ဆေးအတည်ပြုမှုကို လက်ခံသော ပရောက်စီအတွက်−
import urllib3
proxy_headers = urllib3.make_headers(
proxy_basic_auth=f'{proxy_user}:{proxy_password}'
)
with urllib3.ProxyManager(
'http://proxy.example:8080',
proxy_headers=proxy_headers,
timeout=urllib3.Timeout(connect=5, read=10),
) as http:
response = http.request('GET', 'https://service.example/data')
print(response.status)
ရိုးရိုး HTTP ဦးတည်ရာအတွက် ဤခေါင်းစီးများသည် ပို့ဆောင်ထားသော တောင်းဆိုမှုနှင့်အတူ ပရောက်စီသို့ သွားသည်။ CONNECT အသုံးပြုသော HTTPS ဦးတည်ရာအတွက် ၎င်းတို့သည် လိုဏ်ခေါင်းတည်ဆောက်မှုတွင် ပါဝင်ပြီး ကုဒ်ဝှက်ထားသော ဝဘ်ဆိုက်တောင်းဆိုမှု တစ်ခုချင်းစီအတွက် မဟုတ်ပါ။
ပုံမှန် headers အငြင်းအခုံသည် ဦးတည်ရာ တောင်းဆိုမှု ခေါင်းစီးများကို ဖော်ပြသည်။ ဤ ပရောက်စီ စစ်ဆေးအတည်ပြုမှု သည် အခြား လက်ခံသူနှင့် သက်ဆိုင်သည်။ ပရောက်စီ အကောင့်ကို ထိုနေရာတွင် ထားခြင်းသည် ယခင် CONNECT ဖလှယ်မှုကို ပြင်ဆင်ခြင်းနှင့် မတူပါ။
make_headers သည် Basic ခေါင်းစီး တန်ဖိုးကို တည်ဆောက်သည်။ ၎င်းသည် NTLM ကို ညှိနှိုင်းခြင်းမရှိ၊ ပံ့ပိုးသော အစီအစဉ်ကို အလိုအလျောက် ရွေးချယ်ခြင်းမရှိ၊ ပရောက်စီက ထို အကောင့်ကို လက်ခံသည်ဟုလည်း သက်သေမပြပါ။
TLS နားထောင်သူ ပါသော ပရောက်စီသည် သီးခြား ပရောက်စီ TLS အကြောင်းအရာ ထပ်ထည့်သည်။ အထက်ပါ http:// အဆုံးမှတ်သည် လိုဏ်ခေါင်းမှတစ်ဆင့် HTTPS ဦးတည်ရာကို သယ်ဆောင်သော ရိုးရိုး HTTP နားထောင်သူကို ရည်ရွယ်ချက်ရှိရှိ ဖော်ပြသည်။