PycURL-ൽ പ്രോക്സിയുടെയും ഉറവിടത്തിന്റെയും CA ബണ്ടിലുകൾ വെവ്വേറെ സജ്ജമാക്കുക
ഇടനിലക്കാരനിലേക്കുള്ള TLS-ന് https പ്രോക്സി URL ഉപയോഗിക്കുക, ആ കക്ഷിക്ക് PROXY_CAINFO-ഉം ലക്ഷ്യത്തിന് CAINFO-ഉം നൽകുക.
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 ഉം വഴി പ്രോക്സി അക്കൗണ്ട് നൽകുക. സർട്ടിഫിക്കറ്റ് സ്ഥിരീകരണം നിലനിർത്തുക: പ്രോക്സി സ്ഥിരീകരണം അപ്രാപ്തമാക്കുന്നത് കാണാത്ത അതോറിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുപകരം ഇടനിലക്കാരന്റെ ഐഡന്റിറ്റി പരിശോധന നീക്കം ചെയ്യുന്നു.