PycURL da proksi va manba CA to'plamlarini alohida sozlang
Vositachiga TLS uchun https proksi URL ishlating, o'sha tomon uchun PROXY_CAINFO va manzil uchun CAINFO bilan.
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 proksilarni qo'llab-quvvatlaydigan PycURL/libcurl versiyasidan foydalaning. To'plam yo'llari ko'zlangan ishonch to'plamlarini bildiradi: PROXY_CAINFO vositachini tekshiradi; CAINFO manzilning TLS ini tekshiradi. Mavjud ishonch bu ulanishni allaqachon qamrab olgan bo'lsa, aniq almashtirishni tashlab yuboring.
PROXY dagi URL o'z tinglovchisini tavsiflaydi. Raqamli PROXYTYPE taxmin kerak emas. Oddiy HTTP tinglovchisi uchun manzil HTTPS bo'lsa ham URL http:// bo'lib qoladi. Bunday holatda HTTP proksi ro'yxati so'nggi nuqta nomzodlarini beradi; proksi TLS to'plami faqat tinglovchi haqiqatan TLS ishlatganda qo'llaniladi.
Zarur bo'lganda PROXYUSERNAME va PROXYPASSWORD orqali proksi hisobini bering. Sertifikat tekshiruvini saqlang: proksi tekshiruvini o'chirish yetishmayotgan idorani o'rnatish o'rniga vositachining shaxsini tekshirishni olib tashlaydi.