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 المستمع الخاص به. لا حاجة إلى تخمين رقمي لـPROXYTYPE. بالنسبة إلى مستمع HTTP عادي يبقى عنوانه http:// حتى مع وجهة HTTPS. في هذه الحالة توفر قائمة وكلاء HTTP مرشحي نقاط النهاية، ولا تنطبق حزمة TLS للوكيل إلا عندما يستخدم المستمع TLS فعلاً.

قدّم حساب الوكيل عبر PROXYUSERNAME وPROXYPASSWORD عند الحاجة. أبقِ التحقق من الشهادة مفعلاً: فتعطيل التحقق من الوكيل يزيل فحص هوية الوسيط بدلاً من تثبيت الجهة المفقودة.

مقالات ذات صلة