Setați separat pachetele CA ale proxy-ului și ale originii în PycURL
Folosiți un URL https de proxy pentru TLS către intermediar, cu PROXY_CAINFO pentru acea parte și CAINFO pentru destinație.
from io import BytesIO
import pycurl
body = BytesIO()
curl = pycurl.Curl()
try:
curl.setopt(pycurl.URL, "https://api.example/")
curl.setopt(pycurl.PROXY, "https://proxy.example:8443")
curl.setopt(pycurl.PROXY_CAINFO, "/path/to/proxy-ca.pem")
curl.setopt(pycurl.CAINFO, "/path/to/origin-ca.pem")
curl.setopt(pycurl.CONNECTTIMEOUT, 5)
curl.setopt(pycurl.TIMEOUT, 30)
curl.setopt(pycurl.WRITEDATA, body)
curl.perform()
finally:
curl.close()Folosiți o compilare PycURL/libcurl care suportă proxy-uri HTTPS. Căile pachetelor reprezintă seturile de încredere dorite: PROXY_CAINFO verifică intermediarul; CAINFO verifică TLS-ul destinației. Omiteți o suprascriere explicită atunci când încrederea existentă acoperă deja acea conexiune.
URL-ul din PROXY descrie listener-ul său. Nu este nevoie de o presupunere numerică PROXYTYPE. Pentru un listener HTTP simplu, URL-ul rămâne http:// chiar și cu o destinație HTTPS. În acest caz, lista de proxy-uri HTTP oferă candidați pentru puncte finale; pachetul TLS al proxy-ului se aplică doar când listener-ul folosește efectiv TLS.
Furnizați un cont de proxy prin PROXYUSERNAME și PROXYPASSWORD atunci când este necesar. Păstrați verificarea certificatelor: dezactivarea verificării proxy-ului elimină verificarea identității intermediarului în loc să instaleze autoritatea lipsă.