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()ایسا PycURL/libcurl بلڈ استعمال کریں جو HTTPS پراکسی کی حمایت کرتا ہو۔ بنڈل راستے مطلوبہ اعتماد کے سیٹ ظاہر کرتے ہیں: PROXY_CAINFO درمیانی کی تصدیق کرتا ہے؛ CAINFO منزل کے TLS کی تصدیق کرتا ہے۔ جب موجودہ اعتماد وہ کنکشن پہلے ہی ڈھانپ لیتا ہو تو واضح اوور رائیڈ چھوڑ دیں۔
PROXY میں موجود URL اس کے سامع کی وضاحت کرتا ہے۔ عددی PROXYTYPE اندازے کی ضرورت نہیں۔ عام HTTP سامع کے لیے منزل HTTPS ہونے پر بھی URL http:// ہی رہتا ہے۔ اس صورت میں HTTP پراکسی فہرست اینڈ پوائنٹ امیدوار فراہم کرتی ہے؛ پراکسی TLS بنڈل صرف اسی وقت لاگو ہوتا ہے جب سامع واقعی TLS استعمال کرے۔
ضرورت پڑنے پر PROXYUSERNAME اور PROXYPASSWORD کے ذریعے پراکسی اکاؤنٹ دیں۔ سرٹیفکیٹ کی تصدیق برقرار رکھیں: پراکسی کی تصدیق بند کرنا غائب اتھارٹی نصب کرنے کے بجائے درمیانی کی شناخت کی جانچ ہٹا دیتا ہے۔