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()

Kasuta PycURL/libcurl-i buildi, mis toetab HTTPS-puhverservereid. Kogumite teed tähistavad kavandatud usaldushulki: PROXY_CAINFO kontrollib vahendajat; CAINFO kontrollib sihtkoha TLS-i. Jäta selgesõnaline alistamine välja, kui olemasolev usaldus katab selle ühenduse juba.

Aadress PROXY-s kirjeldab selle kuulajat. Numbrilist PROXYTYPE oletust pole vaja. Tavalise HTTP-kuulaja puhul jääb URL-iks http://, ka HTTPS-sihtkoha korral. Sel juhul pakub HTTP-puhverserverite loend lõpp-punktide kandidaate; puhverserveri TLS-kogum kehtib ainult siis, kui kuulaja tegelikult TLS-i kasutab.

Vajaduse korral esita puhverserveri konto PROXYUSERNAME ja PROXYPASSWORD kaudu. Säilita sertifikaadi kontroll: puhverserveri kontrolli väljalülitamine eemaldab vahendaja identiteedikontrolli, mitte ei paigalda puuduvat volitust.

Seotud artiklid