Наладжвайце пакеты CA для проксі і крыніцы ў PycURL незалежна
Выкарыстоўвайце https-адрас проксі для 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 прызначэння. Не задавайце яўнае перавызначэнне, калі існуючы давер ужо пакрывае гэтае злучэнне.
Адрас у PROXY апісвае яго слухача. Лікавае меркаванне PROXYTYPE не патрэбнае. Для звычайнага HTTP-слухача яго адрас застаецца http://, нават калі прызначэнне HTTPS. У такім выпадку спіс HTTP-проксі дае кандыдатаў на канчатковыя пункты; пакет TLS проксі ўжываецца толькі тады, калі слухач сапраўды выкарыстоўвае TLS.
Пры неабходнасці падайце ўліковы запіс проксі праз PROXYUSERNAME і PROXYPASSWORD. Захоўвайце праверку сертыфіката: адключэнне праверкі проксі выдаляе праверку асобы пасярэдніка, а не ўсталёўвае адсутную ўстанову.