הגדירו בנפרד חבילות CA של ה-proxy ושל ה-origin ב-PycURL
השתמשו בכתובת https של proxy עבור TLS אל המתווך, עם 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 שתומכת ב-proxy של HTTPS. נתיבי החבילות מייצגים את קבוצות האמון המיועדות: PROXY_CAINFO מאמת את המתווך; CAINFO מאמת את ה-TLS של היעד. השמיטו עקיפה מפורשת כאשר האמון הקיים כבר מכסה את החיבור הזה.
הכתובת ב-PROXY מתארת את המאזין שלה. אין צורך בניחוש מספרי של PROXYTYPE. עבור מאזין HTTP רגיל הכתובת נשארת http:// גם עם יעד HTTPS. במקרה כזה, רשימת ה-proxy של HTTP מספקת מועמדים לנקודות קצה; חבילת ה-TLS של ה-proxy חלה רק כאשר המאזין באמת משתמש ב-TLS.
ספקו חשבון proxy דרך PROXYUSERNAME ו-PROXYPASSWORD בעת הצורך. שמרו על אימות תעודות: השבתת אימות ה-proxy מסירה את בדיקת זהות המתווך במקום להתקין את הרשות החסרה.