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

HTTPS ప్రాక్సీలను మద్దతు ఇచ్చే PycURL/libcurl బిల్డ్ ఉపయోగించండి. బండిల్ మార్గాలు ఉద్దేశించిన ట్రస్ట్ సెట్‌లను సూచిస్తాయి: PROXY_CAINFO మధ్యవర్తిని ధృవీకరిస్తుంది; CAINFO గమ్యం యొక్క TLSని ధృవీకరిస్తుంది. ఇప్పటికే ఉన్న ట్రస్ట్ ఆ కనెక్షన్‌ను కవర్ చేస్తుంటే స్పష్టమైన ఓవర్‌రైడ్‌ను వదిలివేయండి.

PROXY లోని URL దాని శ్రోతను వివరిస్తుంది. సంఖ్యాత్మక PROXYTYPE ఊహ అవసరం లేదు. సాధారణ HTTP శ్రోతకు గమ్యం HTTPS అయినా URL http:// గానే ఉంటుంది. ఆ సందర్భంలో HTTP ప్రాక్సీ జాబితా ఎండ్‌పాయింట్ అభ్యర్థులను అందిస్తుంది; ప్రాక్సీ TLS బండిల్ శ్రోత నిజంగా TLS ఉపయోగించినప్పుడు మాత్రమే వర్తిస్తుంది.

అవసరమైనప్పుడు PROXYUSERNAME మరియు PROXYPASSWORD ద్వారా ప్రాక్సీ ఖాతాను అందించండి. సర్టిఫికెట్ ధృవీకరణను కొనసాగించండి: ప్రాక్సీ ధృవీకరణను నిలిపివేయడం లేని అధికారాన్ని ఇన్‌స్టాల్ చేయడానికి బదులు మధ్యవర్తి గుర్తింపు తనిఖీని తొలగిస్తుంది.

సంబంధిత వ్యాసాలు