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 проксиг дэмждэг PycURL/libcurl хувилбарыг ашиглана. Багцын зам нь зориулалтын итгэлцлийн багцыг илэрхийлнэ: PROXY_CAINFO зуучлагчийг шалгана; CAINFO очих газрын TLS-ийг шалгана. Одоогийн итгэлцэл тухайн холболтыг аль хэдийн хамарч байвал тодорхой дарж бичихийг орхино.

PROXY дахь URL нь өөрийн сонсогчийг тодорхойлно. Тоон PROXYTYPE таамаг шаардлагагүй. Энгийн HTTP сонсогчийн хувьд очих газар HTTPS байсан ч URL нь http:// хэвээр үлдэнэ. Энэ тохиолдолд HTTP прокси жагсаалт төгсгөлийн цэгийн нэрэмжитүүдийг өгнө; прокси TLS багц нь сонсогч үнэхээр TLS ашиглаж байгаа үед л хамаарна.

Шаардлагатай үед PROXYUSERNAME болон PROXYPASSWORD-оор дамжуулан прокси бүртгэл өгнө. Гэрчилгээний баталгаажуулалтыг хадгална: прокси баталгаажуулалтыг унтраах нь дутуу эрх бүхий байгууллагыг суулгахын оронд зуучлагчийн хэн болохыг шалгахыг арилгана.

Холбоотой нийтлэлүүд