Задайте независимо CA пакетите за прокси и за източника в PycURL
Използвайте https URL на прокси за TLS към посредника, с PROXY_CAINFO за този партньор и CAINFO за дестинацията.
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()Използвайте сборка на PycURL/libcurl, която поддържа HTTPS прокси. Пътищата до пакетите означават желаните набори за доверие: PROXY_CAINFO проверява посредника; CAINFO проверява TLS на дестинацията. Пропуснете явното заместване, когато съществуващото доверие вече покрива тази връзка.
URL адресът в PROXY описва неговия слушател. Не е нужно числово предположение за PROXYTYPE. За обикновен HTTP слушател адресът остава http:// дори при HTTPS дестинация. В този случай списъкът с HTTP прокси дава кандидати за крайни точки; TLS пакетът на проксито важи само когато слушателят наистина използва TLS.
При нужда подайте профил за прокси чрез PROXYUSERNAME и PROXYPASSWORD. Запазете проверката на сертификата: изключването на проверката на проксито премахва проверката на самоличността на посредника, вместо да инсталира липсващия орган.