urllib3 ProxyManager: Basic hitelesítő adatok küldése a proxy_headers-ben
Adja meg a Basic proxy hitelesítő adatokat a ProxyManager.proxy_headers segítségével, hogy HTTPS CONNECT során elérhetők legyenek, és ne váljanak célfejlécekké.
A ProxyManager külön proxy_headers argumentummal rendelkezik a közvetítőnek küldött fejlécekhez. Olyan proxyhoz, amely elfogadja a Basic hitelesítést:
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)
Sima HTTP-cél esetén ezek a fejlécek a továbbított kéréssel együtt jutnak el a proxyhoz. CONNECT-et használó HTTPS-cél esetén az alagút felépítéséhez tartoznak, nem pedig minden titkosított webhelykéréshez.
A szokásos headers argumentum a cél kérésfejléceit írja le. Ez a proxyhitelesítés más címzetthez tartozik. A proxy fiókjának ott elhelyezése nem egyenértékű a korábbi CONNECT-csere beállításával.
A make_headers felépíti a Basic fejléc értékét. Nem tárgyal NTLM-ről, nem választ automatikusan támogatott sémát, és nem bizonyítja, hogy a proxy elfogadja azt a fiókot.
A TLS-figyelővel rendelkező proxy külön proxy TLS-kontextust ad hozzá. A fenti http:// végpont szándékosan egy közönséges HTTP-figyelőt ír le, amely HTTPS-célt visz át egy alagúton.