urllib3 ProxyManager: Basicu mandaatide saatmine proxy_headers kaudu
Esitage Basicu puhverserveri mandaadid ProxyManager.proxy_headers kaudu, et need oleksid HTTPS CONNECT ajal saadaval ega muutuks sihtpäisteks.
ProxyManageril on eraldi argument proxy_headers vahendajale saadetavate päiste jaoks. Puhverserveri jaoks, mis aktsepteerib Basic-autentimist:
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)
Tavalise HTTP-sihtkoha puhul liiguvad need päised edastatud päringuga puhverserverini. CONNECTiga HTTPS-sihtkoha puhul kuuluvad need tunneli seadistamise juurde, mitte iga krüpteeritud veebisaidi päringu juurde.
Tavaline argument headers kirjeldab sihtkoha päringupäiseid. See puhverserveri autentimine kuulub teisele vastuvõtjale. Puhverserveri konto sinna panemine ei võrdu varasema CONNECT-vahetuse seadistamisega.
make_headers koostab Basic-päise väärtuse. See ei läbiräägi NTLM-i, ei vali automaatselt toetatud skeemi ega tõesta, et puhverserver selle konto vastu võtab.
TLS-kuulajaga puhverserver lisab eraldi puhverserveri TLS-konteksti. Ülaltoodud http:// lõpp-punkt kirjeldab tahtlikult tavalist HTTP-kuulajat, mis kannab HTTPS-sihtkohta tunneli kaudu.