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 ein PycURL/libcurl-bygg som støttar HTTPS-proxyar. Buntstigane viser til dei tiltenkte tillitssetta: PROXY_CAINFO stadfester mellomleddet; CAINFO stadfester TLS-en til destinasjonen. Utelat ei eksplisitt overstyring når den eksisterande tillita alt dekkjer den sambindinga.

URL-en i PROXY skildrar lyttaren sin. Det trengst ikkje noka numerisk PROXYTYPE-gissing. For ein vanleg HTTP-lyttar blir URL-en verande http:// sjølv med ein HTTPS-destinasjon. I så fall gir HTTP-proxylista endepunktkandidatar; proxy-TLS-bunten gjeld berre når lyttaren faktisk brukar TLS.

Oppgi ein proxykonto via PROXYUSERNAME og PROXYPASSWORD når det krevst. Hald på sertifikatstadfestinga: å slå av proxy stadfestar fjernar identitetskontrollen av mellomleddet i staden for å installere den manglande autoriteta.

Relaterte artiklar