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

HTTPS proksilərini dəstəkləyən PycURL/libcurl buraxılışından istifadə edin. Paket yolları nəzərdə tutulan etimad dəstlərini bildirir: PROXY_CAINFO vasitəçini yoxlayır; CAINFO təyinatın TLS-ini yoxlayır. Mövcud etimad artıq həmin bağlantını əhatə edirsə, açıq üstələməni buraxın.

PROXY daxilindəki URL onun dinləyicisini təsvir edir. Rəqəmsal PROXYTYPE təxmini lazım deyil. Adi HTTP dinləyicisi üçün HTTPS təyinatı olsa da, URL http:// olaraq qalır. Bu halda HTTP proksi siyahısı son nöqtə namizədləri verir; proksi TLS paketi yalnız dinləyici həqiqətən TLS istifadə etdikdə tətbiq olunur.

Tələb olunduqda PROXYUSERNAME və PROXYPASSWORD vasitəsilə proksi hesabı təqdim edin. Sertifikat yoxlamasını saxlayın: proksi yoxlamasını söndürmək çatışmayan səlahiyyəti quraşdırmaq əvəzinə vasitəçinin kimlik yoxlamasını aradan qaldırır.

Əlaqəli məqalələr