ແຍກຫົວຂໍ້ proxy ຂອງ libcurl ອອກຈາກຫົວຂໍ້ຂອງເວັບໄຊ
ໃຫ້ libcurl ມີລາຍການຫົວຂໍ້ proxy ແລະ ປາຍທາງແຍກຕ່າງຫາກ, ພ້ອມຮັບຮູ້ວ່າການສົ່ງຕໍ່ດ້ວຍຂໍ້ຄວາມທຳມະດາມີຂອບເຂດການເຫັນຕ່າງກັນ.
ສຳລັບ handle libcurl ທີ່ມີຢູ່ແລ້ວ, ແຍກລາຍການຫົວຂໍ້ປາຍທາງ ແລະ proxy ຢ່າງຊັດເຈນ:
curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers); ຮັກສາ handle ທີ່ຕັ້ງຄ່າໄວ້ ແລະ ລາຍການທີ່ຖືກຕ້ອງໃຫ້ຢູ່ລອດລະຫວ່າງການໂອນ. CURLHEADER_SEPARATE ແຍກຫົວຂໍ້ທີ່ໃຊ້ໃນ CONNECT ອອກຈາກຫົວຂໍ້ທີ່ໃຊ້ສຳລັບຄຳຮ້ອງປາຍທາງ. ຕົວຢ່າງນະໂຍບາຍແບບລວມສູນແບບເກົ່າອາດໃສ່ລາຍການປົກກະຕິໃນທັງສອງການແລກປ່ຽນ.
| ເສັ້ນທາງຄຳຮ້ອງ | ຄວາມໝາຍຂອງລາຍການແຍກ |
|---|---|
| HTTPS ພາຍໃນອຸໂມງ CONNECT ປົກກະຕິ | ການແລກປ່ຽນ proxy ມາກ່ອນ; ຈາກນັ້ນຫົວຂໍ້ HTTP ປາຍທາງຈະຕາມມາພາຍໃນ TLS ປາຍທາງ. |
| ການສົ່ງຕໍ່ HTTP ປົກກະຕິ | proxy ສາມາດອ່ານຫົວຂໍ້ປາຍທາງໄດ້, ແລະ libcurl ສາມາດໃຊ້ລາຍການທີ່ເໝາະສົມທັງສອງໃນຄຳຮ້ອງທີ່ຖືກສົ່ງຕໍ່ອັນດຽວ. |
ເຄື່ອງໝາຍການເສັ້ນທາງສະເພາະ proxy ເປັນຂອງການແລກປ່ຽນ proxy. ດ້ວຍການສົ່ງຕໍ່ແບບຂໍ້ຄວາມທຳມະດາ, ຊ່ອງຂໍ້ມູນກຳນົດເອງໃດໜຶ່ງສາມາດໄປຮອດຕົ້ນກຳເນີດໄດ້ ເວັ້ນແຕ່ການຈັດການສົ່ງຕໍ່ຈະຮັບມືກັບມັນ; ຊື່ຂອງຕົວເລືອກບໍ່ແມ່ນການຮັບປະກັນຄວາມລັບ.
ໃຊ້ຕົວເລືອກຂໍ້ມູນປະກອບການທີ່ຮອງຮັບສຳລັບການກວດສອບ. ສຳລັບເມຕາຂໍ້ມູນທີ່ຜູ້ປະຕິບັດການກຳນົດ, ກຳນົດວ່າຂັ້ນຕອນໃດໃຊ້ມັນ ແລະ ຈະສົ່ງຕໍ່ໄດ້ຫຼືບໍ່ ແທນທີ່ຈະໃສ່ລະຫັດຜ່ານໃນຊ່ອງທົ່ວໄປ.
ເມື່ອເຄື່ອງໝາຍຂາດ ຫຼື ເບິ່ງຄືວ່າຮົ່ວໄຫຼ, ໃຫ້ລະບຸຄຳຮ້ອງຕົວຈິງທີ່ມີມັນຢູ່. ການເອີ້ນກັບຂອງຫົວຂໍ້ທີ່ສະແດງຫຼາຍການແລກປ່ຽນສາມາດເຮັດໃຫ້ລາຍການທີ່ແຍກຢ່າງຖືກຕ້ອງເບິ່ງຄືວ່າປົນກັນ.