ตั้งค่าชุด CA ของพร็อกซีและต้นทางใน PycURL แยกกัน
ใช้ URL https สำหรับ 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 ที่ รองรับพร็อกซี HTTPS เส้นทางของชุดไฟล์แสดงถึงชุดความเชื่อถือที่ต้องการ: PROXY_CAINFO ตรวจสอบตัวกลาง; CAINFO ตรวจสอบ TLS ของปลายทาง ละเว้นการแทนที่อย่างชัดเจนเมื่อความเชื่อถือที่มีอยู่ครอบคลุมการเชื่อมต่อนั้นแล้ว
URL ใน PROXY อธิบายตัวรับฟังของมัน ไม่จำเป็นต้องเดาค่า PROXYTYPE เป็นตัวเลข สำหรับตัวรับฟัง HTTP ธรรมดา URL ยังคงเป็น http:// แม้ปลายทางจะเป็น HTTPS ในกรณีนั้น รายการพร็อกซี HTTP จะให้ผู้สมัครปลายทาง และชุด TLS ของพร็อกซีจะใช้เมื่อตัวรับฟังใช้ TLS จริงเท่านั้น
ระบุบัญชีพร็อกซีผ่าน PROXYUSERNAME และ PROXYPASSWORD เมื่อจำเป็น คงการตรวจสอบใบรับรองไว้: การปิดการตรวจสอบพร็อกซีจะลบการตรวจสอบตัวตนของตัวกลางแทนที่จะติดตั้งหน่วยออกใบรับรองที่ขาดไป