PycURL-ի պրոքսիի և աղբյուրի CA փաթեթները սահմանեք առանձին
Միջնորդի հետ TLS-ի համար օգտագործեք https պրոքսիի URL, 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-ը։ Բաց թողեք բացահայտ վերասահմանումը, երբ գործող վստահությունն արդեն ծածկում է այդ միացումը։
PROXY-ում եղած URL-ը նկարագրում է իր լսողին։ Թվային PROXYTYPE ենթադրություն պետք չէ։ Սովորական HTTP լսողի համար URL-ը մնում է http://, նույնիսկ HTTPS նպատակակետի դեպքում։ Այդ դեպքում HTTP պրոքսիների ցանկը տալիս է վերջնակետերի թեկնածուներ. պրոքսիի TLS փաթեթը կիրառվում է միայն այն ժամանակ, երբ լսողը իրոք օգտագործում է TLS։
Անհրաժեշտության դեպքում տրամադրեք պրոքսիի հաշիվ PROXYUSERNAME-ի և PROXYPASSWORD-ի միջոցով։ Պահպանեք վկայագրի ստուգումը. պրոքսիի ստուգումն անջատելը հեռացնում է միջնորդի ինքնության ստուգումը՝ բացակայող հեղինակությունը տեղադրելու փոխարեն։