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 ਰਾਹੀਂ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਦਿਓ। ਸਰਟੀਫਿਕੇਟ ਪੁਸ਼ਟੀ ਬਣਾਈ ਰੱਖੋ: ਪ੍ਰੌਕਸੀ ਪੁਸ਼ਟੀ ਬੰਦ ਕਰਨ ਨਾਲ ਗੁੰਮ ਅਥਾਰਟੀ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਥਾਂ ਮੱਧਸਥ ਦੀ ਪਛਾਣ ਜਾਂਚ ਹਟ ਜਾਂਦੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ