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

Користите PycURL/libcurl build који подржава HTTPS проксије. Путање пакета означавају намењене скупове поверења: PROXY_CAINFO проверава посредника; CAINFO проверава TLS одредишта. Изоставите изричито премошћивање када постојеће поверење већ покрива ту везу.

URL у PROXY описује свој слушалац. Нумеричка претпоставка PROXYTYPE није потребна. За обичан HTTP слушалац URL остаје http:// чак и уз HTTPS одредиште. У том случају листа HTTP проксија даје кандидате за крајње тачке; TLS пакет проксија важи само када слушалац заиста користи TLS.

По потреби наведите налог проксија кроз PROXYUSERNAME и PROXYPASSWORD. Задржите проверу сертификата: искључивање провере проксија уклања проверу идентитета посредника уместо да инсталира тело које недостаје.

Повезани чланци