urllib3 ProxyManager: proxy_headers मध्ये Basic क्रेडेन्शियल पाठवा
ProxyManager.proxy_headers द्वारे Basic प्रॉक्सी क्रेडेन्शियल द्या जेणेकरून ते 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:// एंडपॉइंट जाणूनबुजून असा सामान्य HTTP श्रोता वर्णन करते जो बोगद्यातून HTTPS गंतव्य वाहून नेतो.