Stel de CA-bundels van PycURL voor proxy en oorsprong apart in
Gebruik een https-proxy-URL voor TLS naar de tussenpartij, met PROXY_CAINFO voor die kant en CAINFO voor de bestemming.
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()Gebruik een PycURL/libcurl-build die HTTPS-proxy's ondersteunt. De bundelpaden staan voor de bedoelde vertrouwenssets: PROXY_CAINFO verifieert de tussenpartij; CAINFO verifieert de TLS van de bestemming. Laat een expliciete overschrijving weg wanneer bestaand vertrouwen die verbinding al dekt.
De URL in PROXY beschrijft zijn listener. Een numerieke PROXYTYPE-gok is niet nodig. Voor een gewone HTTP-listener blijft de URL http://, zelfs met een HTTPS-bestemming. In dat geval levert de HTTP-proxylijst eindpuntkandidaten; de proxy-TLS-bundel geldt alleen wanneer de listener echt TLS gebruikt.
Geef zo nodig een proxyaccount op via PROXYUSERNAME en PROXYPASSWORD. Behoud certificaatverificatie: het uitschakelen van proxyverificatie verwijdert de identiteitscontrole van de tussenpartij in plaats van de ontbrekende autoriteit te installeren.