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 เมื่อจำเป็น คงการตรวจสอบใบรับรองไว้: การปิดการตรวจสอบพร็อกซีจะลบการตรวจสอบตัวตนของตัวกลางแทนที่จะติดตั้งหน่วยออกใบรับรองที่ขาดไป

บทความที่เกี่ยวข้อง