Indstil PycURLs proxy- og oprindelses-CA-bundter uafhængigt
Brug en https-proxy-URL til TLS mod mellemleddet, med PROXY_CAINFO til den part og CAINFO til destinationen.
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()Brug et PycURL/libcurl-build, der understøtter HTTPS-proxyer. Bundtstierne angiver de tilsigtede tillidssæt: PROXY_CAINFO verificerer mellemleddet; CAINFO verificerer destinationens TLS. Undlad en eksplicit tilsidesættelse, når den eksisterende tillid allerede dækker forbindelsen.
URL'en i PROXY beskriver dens lytter. Der er ikke brug for et numerisk PROXYTYPE-gæt. For en almindelig HTTP-lytter forbliver URL'en http://, selv med en HTTPS-destination. I det tilfælde leverer HTTP-proxylisten kandidater til endpoints; proxy-TLS-bundtet gælder kun, når lytteren faktisk bruger TLS.
Angiv en proxykonto via PROXYUSERNAME og PROXYPASSWORD, når det kræves. Behold certifikatverifikationen: at deaktivere proxyverifikation fjerner mellemleddets identitetskontrol i stedet for at installere den manglende myndighed.