urllib3 ProxyManager: dërgoni kredencialet Basic në proxy_headers
Furnizoni kredencialet Basic të proxy-t përmes ProxyManager.proxy_headers, që ato të jenë të disponueshme gjatë HTTPS CONNECT pa u kthyer në header-a destinacioni.
ProxyManager ka një argument të veçantë proxy_headers për header-at që dërgohen te ndërmjetësi. Për një proxy që pranon Basic authentication:
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)
Për një destinacion HTTP të thjeshtë, këta header-a udhëtojnë me kërkesën e përcjellë drejt proxy-t. Për një destinacion HTTPS që përdor CONNECT, ata i përkasin konfigurimit të tunelit, jo çdo kërkese të kriptuar drejt faqes.
Argumenti i zakonshëm headers përshkruan header-at e kërkesës për destinacionin. Ky proxy authentication i përket një marrësi tjetër. Vendosja e llogarisë së proxy-t aty nuk është e njëjtë me konfigurimin e shkëmbimit të mëparshëm CONNECT.
make_headers ndërton vlerën e header-it Basic. Nuk negocion NTLM, nuk zgjedh automatikisht një skemë të mbështetur dhe nuk vërteton se proxy-t e pranon atë llogari.
Një proxy me një TLS listener shton një kontekst TLS të veçantë për proxy-n. Pika http:// më sipër përshkruan qëllimisht një listener HTTP të zakonshëm që çon një destinacion HTTPS përmes një tuneli.