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 ساده، نشانی حتی با مقصد HTTPS همچنان http:// می‌ماند. در این حالت فهرست پروکسی HTTP نامزدهای نقطهٔ پایانی را فراهم می‌کند؛ بستهٔ TLS پروکسی تنها وقتی اعمال می‌شود که شنونده واقعاً از TLS استفاده کند.

در صورت نیاز حساب پروکسی را از طریق PROXYUSERNAME و PROXYPASSWORD ارائه دهید. بررسی گواهی را حفظ کنید: غیرفعال کردن بررسی پروکسی، بررسی هویت واسطه را حذف می‌کند نه اینکه مرجع گمشده را نصب کند.

مقالات مرتبط