Aseta PycURLin välityspalvelimen ja alkuperän CA-niput erikseen
Käytä https-välityspalvelimen URL-osoitetta TLS:ään välittäjälle, PROXY_CAINFO tuolle osapuolelle ja CAINFO kohteelle.
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()Käytä PycURL/libcurl-koontiversiota, joka tukee HTTPS-välityspalvelimia. Nippujen polut edustavat aiottuja luottamusjoukkoja: PROXY_CAINFO varmistaa välittäjän; CAINFO varmistaa kohteen TLS:n. Jätä nimenomainen ohitus pois, kun nykyinen luottamus kattaa kyseisen yhteyden jo.
Osoite kohdassa PROXY kuvaa sen kuuntelijan. Numeerista PROXYTYPE-arvausta ei tarvita. Tavallisella HTTP-kuuntelijalla osoite pysyy muodossa http://, vaikka kohde olisi HTTPS. Siinä tapauksessa HTTP-välityspalvelinluettelo tarjoaa päätepiste-ehdokkaita; välityspalvelimen TLS-nippu koskee vain, kun kuuntelija todella käyttää TLS:ää.
Anna välityspalvelintili tarvittaessa PROXYUSERNAME:n ja PROXYPASSWORD:n kautta. Säilytä varmennevarmennus: välityspalvelimen varmennuksen poistaminen poistaa välittäjän henkilöllisyystarkistuksen sen sijaan, että puuttuva varmenneviranomainen asennettaisiin.