ຕັ້ງຄ່າ CA bundle ຂອງ proxy ແລະ origin ໃນ 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()ໃຊ້ build PycURL/libcurl ທີ່ ຮອງຮັບ proxy HTTPS. ເສັ້ນທາງ bundle ສະແດງຊຸດຄວາມໄວ້ໃຈທີ່ຕັ້ງໃຈ: PROXY_CAINFO ກວດສອບຕົວກາງ; CAINFO ກວດສອບ TLS ຂອງປາຍທາງ. ລະເວັ້ນການຂຽນທັບຢ່າງຊັດເຈນ ເມື່ອຄວາມໄວ້ໃຈທີ່ມີຢູ່ແລ້ວຄຸມການເຊື່ອມຕໍ່ນັ້ນ.
URL ໃນ PROXY ອະທິບາຍ listener ຂອງມັນ. ບໍ່ຕ້ອງການການເດົາຕົວເລກ PROXYTYPE. ສຳລັບ listener HTTP ທຳມະດາ URL ຍັງເປັນ http:// ເຖິງແມ່ນປາຍທາງເປັນ HTTPS. ໃນກໍລະນີນັ້ນ ລາຍຊື່ proxy HTTP ໃຫ້ຜູ້ສະໝັກ endpoint; bundle TLS ຂອງ proxy ໃຊ້ໄດ້ກໍ່ຕໍ່ເມື່ອ listener ໃຊ້ TLS ຕົວຈິງ.
ໃຫ້ບັນຊີ proxy ຜ່ານ PROXYUSERNAME ແລະ PROXYPASSWORD ເມື່ອຈຳເປັນ. ຮັກສາການກວດສອບໃບຢັ້ງຢືນ: ການປິດການກວດສອບ proxy ຈະລຶບການກວດສອບຕົວຕົນຂອງຕົວກາງ ແທນທີ່ຈະຕິດຕັ້ງອຳນາດທີ່ຂາດ.