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 ഉം വഴി പ്രോക്സി അക്കൗണ്ട് നൽകുക. സർട്ടിഫിക്കറ്റ് സ്ഥിരീകരണം നിലനിർത്തുക: പ്രോക്സി സ്ഥിരീകരണം അപ്രാപ്തമാക്കുന്നത് കാണാത്ത അതോറിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുപകരം ഇടനിലക്കാരന്റെ ഐഡന്റിറ്റി പരിശോധന നീക്കം ചെയ്യുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ