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ża build ta' PycURL/libcurl li jappoġġa proxies HTTPS. Il-mogħdijiet tal-bundles jirrappreżentaw is-settijiet ta' fiduċja maħsuba: PROXY_CAINFO jivverifika l-intermedjarju; CAINFO jivverifika t-TLS tad-destinazzjoni. Ħalli barra sostituzzjoni espliċita meta l-fiduċja eżistenti diġà tkopri dik il-konnessjoni.

L-URL f'PROXY jiddeskrivi l-listener tiegħu. M'hemmx bżonn ta' stima numerika ta' PROXYTYPE. Għal listener HTTP sempliċi, l-URL jibqa' http:// anke b'destinazzjoni HTTPS. F'dak il-każ, il-lista tal-proxies HTTP tipprovdi kandidati tal-endpoint; il-bundle TLS tal-proxy japplika biss meta l-listener fil-fatt juża TLS.

Ipprovdi kont tal-proxy permezz ta' PROXYUSERNAME u PROXYPASSWORD meta jkun meħtieġ. Żomm il-verifika taċ-ċertifikat: l-iddiżattivar tal-verifika tal-proxy jneħħi l-kontroll tal-identità tal-intermedjarju minflok ma jinstalla l-awtorità nieqsa.

Artikli relatati