urllib3 ProxyManager: Basic datu sūtīšana proxy_headers
Norādiet Basic starpniekservera datus, izmantojot ProxyManager.proxy_headers, lai tie būtu pieejami HTTPS CONNECT laikā un nekļūtu par mērķa galvenēm.
ProxyManager ir atsevišķs arguments proxy_headers starpniekam sūtāmajām galvenēm. Starpniekserverim, kas pieņem Basic autentifikāciju:
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)
Vienkāršam HTTP mērķim šīs galvenes ceļo kopā ar pārsūtīto pieprasījumu uz starpniekserveri. HTTPS mērķim ar CONNECT tās pieder pie tuneļa iestatīšanas, nevis pie katra šifrētā vietnes pieprasījuma.
Parastais arguments headers apraksta mērķa pieprasījuma galvenes. Šī starpniekservera autentifikācija pieder citam saņēmējam. Starpniekservera konta ievietošana tur nav tas pats, kas iepriekšējās CONNECT apmaiņas konfigurēšana.
make_headers veido Basic galvenes vērtību. Tas nepārrunā NTLM, automātiski neizvēlas atbalstītu shēmu un nepierāda, ka starpniekserveris pieņem šo kontu.
Starpniekserveris ar TLS klausītāju pievieno atsevišķu starpniekservera TLS kontekstu. Iepriekš minētais http:// galapunkts apzināti apraksta parastu HTTP klausītāju, kas caur tuneli pārvieto HTTPS mērķi.