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 слушател URL-то останува http:// дури и со HTTPS одредиште. Во тој случај списокот на HTTP прокси дава кандидати за крајни точки; TLS пакетот на проксито важи само кога слушателот навистина користи TLS.

По потреба наведете сметка за прокси преку PROXYUSERNAME и PROXYPASSWORD. Задржете ја проверката на сертификатот: исклучувањето на проверката на проксито ја отстранува проверката на идентитетот на посредникот наместо да го инсталира органот што недостасува.

Поврзани статии