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()

Defnyddiwch fersiwn o PycURL/libcurl sy'n cefnogi proxïau HTTPS. Mae llwybrau'r bwndeli yn cynrychioli'r setiau ymddiriedaeth bwriadedig: mae PROXY_CAINFO yn gwirio'r cyfryngwr; mae CAINFO yn gwirio TLS y gyrchfan. Hepgorwch ddiystyru penodol pan fo ymddiriedaeth bresennol eisoes yn cwmpasu'r cysylltiad hwnnw.

Mae'r URL yn PROXY yn disgrifio ei wrandawr. Nid oes angen dyfalu rhifol PROXYTYPE. Ar gyfer gwrandawr HTTP plaen, mae'r URL yn parhau'n http:// hyd yn oed gyda chyrchfan HTTPS. Yn yr achos hwnnw, mae'r rhestr proxïau HTTP yn darparu ymgeiswyr penawd; dim ond pan fo'r gwrandawr yn defnyddio TLS mewn gwirionedd y mae bwndel TLS y proxy yn berthnasol.

Darparwch gyfrif proxy trwy PROXYUSERNAME a PROXYPASSWORD pan fo angen. Cadwch wirio tystysgrifau: mae analluogi gwirio'r proxy yn dileu gwiriad hunaniaeth y cyfryngwr yn lle gosod yr awdurdod coll.

Erthyglau cysylltiedig