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 namenjene skupove poverenja: PROXY_CAINFO proverava posrednika; CAINFO proverava TLS odredišta. Izostavite izričito premošćivanje kada postojeće poverenje već pokriva tu vezu.

URL u PROXY opisuje svoj slušalac. Numerička pretpostavka PROXYTYPE nije potrebna. Za običan HTTP slušalac URL ostaje http:// čak i uz HTTPS odredište. U tom slučaju lista HTTP proxyja daje kandidate za krajnje tačke; TLS paket proxyja važi samo kada slušalac zaista koristi TLS.

Po potrebi navedite nalog proxyja kroz PROXYUSERNAME i PROXYPASSWORD. Zadržite proveru sertifikata: isključivanje provere proxyja uklanja proveru identiteta posrednika umesto da instalira nedostajuće telo.

Povezani članci