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 દ્વારા પ્રોક્સી એકાઉન્ટ આપો. પ્રમાણપત્ર ચકાસણી જાળવી રાખો: પ્રોક્સી ચકાસણી બંધ કરવાથી ખૂટતી ઓથોરિટી સ્થાપિત થવાને બદલે મધ્યસ્થની ઓળખ ચકાસણી દૂર થાય છે.

સંબંધિત લેખો