Sett PycURLs proxy- og opprinnelses-CA-bunter hver for seg
Bruk en https-proxy-URL for TLS mot mellomleddet, med PROXY_CAINFO for den parten og CAINFO for destinasjonen.
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()Bruk en PycURL/libcurl-bygg som støtter HTTPS-proxyer. Buntstiene angir de tiltenkte tillitssettene: PROXY_CAINFO verifiserer mellomleddet; CAINFO verifiserer destinasjonens TLS. Utelat en eksplisitt overstyring når eksisterende tillit allerede dekker den forbindelsen.
URL-en i PROXY beskriver lytteren sin. Det trengs ingen numerisk PROXYTYPE-gjetning. For en vanlig HTTP-lytter forblir URL-en http:// selv med en HTTPS-destinasjon. I så fall gir HTTP-proxylisten endepunktkandidater; proxy-TLS-bunten gjelder bare når lytteren faktisk bruker TLS.
Oppgi en proxykonto via PROXYUSERNAME og PROXYPASSWORD når det kreves. Behold sertifikatverifiseringen: å slå av proxyverifisering fjerner identitetskontrollen av mellomleddet i stedet for å installere den manglende autoriteten.