urllib3 ProxyManager: sendi Basic-kredentaĵojn en proxy_headers
Provizu Basic-prokurilajn kredentaĵojn per ProxyManager.proxy_headers por ke ili estu disponeblaj dum HTTPS CONNECT sen fariĝi celaj kapoj.
ProxyManager havas apartan argumenton proxy_headers por kapoj sendataj al la peranto. Por prokurilo akceptanta Basic-aŭtentikigon:
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)
Por ordinara HTTP-celo, tiuj kapoj vojaĝas kun la plusendita peto al la prokurilo. Por HTTPS-celo per CONNECT, ili apartenas al la tunela agordo, ne al ĉiu ĉifrita reteja peto.
La ordinara argumento headers priskribas celajn petokapojn. Ĉi tiu prokurila aŭtentikigo apartenas al alia ricevanto. Meti la konton de la prokurilo tie ne samvaloras al agordi la antaŭan CONNECT-interŝanĝon.
make_headers konstruas la valoron de la Basic-kapo. Ĝi ne intertraktas NTLM, ne aŭtomate elektas subtenatan skemon kaj ne pruvas, ke la prokurilo akceptas tiun konton.
Prokurilo kun TLS-auskultanto aldonas apartan TLS-kuntekston de la prokurilo. La supra http://-finpunkto intence priskribas ordinaran HTTP-auskultanton, kiu portas HTTPS-celon tra tunelo.