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 मार्फत प्रोक्सी खाता दिनुहोस्। प्रमाणपत्र प्रमाणीकरण कायम राख्नुहोस्: प्रोक्सी प्रमाणीकरण बन्द गर्दा हराएको अधिकार स्थापना गर्नुको सट्टा मध्यस्थकर्ताको पहिचान जाँच हट्छ।

सम्बन्धित लेखहरू