Ustaw niezależnie pakiety CA serwera proxy i źródła w PycURL
Użyj adresu https serwera proxy dla TLS do pośrednika, z PROXY_CAINFO dla tego peera i CAINFO dla celu.
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()Użyj kompilacji PycURL/libcurl, która obsługuje proxy HTTPS. Ścieżki pakietów oznaczają zamierzone zestawy zaufania: PROXY_CAINFO weryfikuje pośrednika; CAINFO weryfikuje TLS celu. Pomiń jawne nadpisanie, gdy istniejące zaufanie już obejmuje to połączenie.
Adres w PROXY opisuje swój listener. Numeryczne zgadywanie PROXYTYPE nie jest potrzebne. Dla zwykłego listenera HTTP adres pozostaje http://, nawet gdy cel jest HTTPS. W takim przypadku lista proxy HTTP dostarcza kandydatów na punkty końcowe; pakiet TLS proxy ma zastosowanie tylko wtedy, gdy listener rzeczywiście używa TLS.
W razie potrzeby podaj konto proxy przez PROXYUSERNAME i PROXYPASSWORD. Zachowaj weryfikację certyfikatów: wyłączenie weryfikacji proxy usuwa sprawdzanie tożsamości pośrednika, zamiast instalować brakujący urząd certyfikacji.