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

Sebenzisa ukwakhiwa kwe-PycURL/libcurl okuseksela ama-proxy e-HTTPS. Izindlela zama-bundle zimelela amasethi okuthembela ahlosiwe: i-PROXY_CAINFO iqinisekisa umlamuli; i-CAINFO iqinisekisa i-TLS yendawo. Shiya ukubhala ngaphezulu okucacile uma ukuthembela okukhona sekukugqamile lokho kuxhumana.

I-URL ku-PROXY ichaza isilaleli sayo. Akudingeki ukuqagela kwenombolo PROXYTYPE. Esilalelini se-HTTP esijwayelekile, i-URL ihlala iyile-http:// ngisho nendawo eyi-HTTPS. Kuleso simo, uhlu lwama-proxy e-HTTP luhlinzeka ngabazongeneli bendawo yokugcina; i-bundle ye-TLS ye-proxy isebenza kuphela lapho isilaleli sisebenzisa ngempela i-TLS.

Nikeza i-akhawunti ye-proxy nge-PROXYUSERNAME ne-PROXYPASSWORD lapho kudingeka. Gcina ukuqinisekiswa kwesitifiketi: ukucisha ukuqinisekiswa kwe-proxy kususa ukuhlolwa kobuwena bomlamuli esikhundleni sokufaka isiphathimandla esingekho.

Izihloko ezihlobene