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 proxy'lerini destekleyen bir PycURL/libcurl derlemesi kullanın. Paket yolları amaçlanan güven kümelerini temsil eder: PROXY_CAINFO aracıyı doğrular; CAINFO hedefin TLS'ini doğrular. Mevcut güven bu bağlantıyı zaten kapsıyorsa açık bir geçersiz kılmayı atlayın.

PROXY içindeki URL, dinleyicisini tanımlar. Sayısal bir PROXYTYPE tahminine gerek yoktur. Sade bir HTTP dinleyicisi için hedef HTTPS olsa bile URL http:// olarak kalır. Bu durumda HTTP proxy listesi uç nokta adayları sağlar; proxy TLS paketi yalnızca dinleyici gerçekten TLS kullandığında geçerlidir.

Gerektiğinde PROXYUSERNAME ve PROXYPASSWORD üzerinden bir proxy hesabı verin. Sertifika doğrulamasını koruyun: proxy doğrulamasını kapatmak, eksik yetkiliyi kurmak yerine aracının kimlik denetimini ortadan kaldırır.

İlgili makaleler