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

Koristite PycURL/libcurl build koji podržava HTTPS proxyje. Putanje paketa označavaju namijenjene skupove povjerenja: PROXY_CAINFO provjerava posrednika; CAINFO provjerava TLS odredišta. Izostavite izričito premošćenje kada postojeće povjerenje već pokriva tu vezu.

URL u PROXY opisuje svoj slušatelj. Numerička pretpostavka PROXYTYPE nije potrebna. Za običan HTTP slušatelj URL ostaje http:// čak i uz HTTPS odredište. U tom slučaju popis HTTP proxyja daje kandidate za krajnje točke; TLS paket proxyja vrijedi samo kada slušatelj doista rabi TLS.

Po potrebi navedite račun proxyja kroz PROXYUSERNAME i PROXYPASSWORD. Zadržite provjeru certifikata: isključivanje provjere proxyja uklanja provjeru identiteta posrednika umjesto da instalira nedostajuće tijelo.

Povezani članci