ພາຍໃນການເລີ່ມຕົ້ນ libcurl ທີ່ມີຢູ່ແລ້ວຂອງແອັບຯ ແລະ ວົງຈອນຊີວິດ easy-handle:

curl_easy_setopt(handle, CURLOPT_URL, "https://example.com/");
curl_easy_setopt(handle, CURLOPT_PROXY, "127.0.0.1:1080");
curl_easy_setopt(handle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
curl_easy_setopt(handle, CURLOPT_NOPROXY, "");
curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, 5L);
curl_easy_setopt(handle, CURLOPT_TIMEOUT, 15L);

CURLPROXY_SOCKS5_HOSTNAME ສົ່ງຊື່ໂຮສຂອງປາຍທາງຕາມເສັ້ນທາງ SOCKS. CURLPROXY_SOCKS5 ແທນທີ່ຈະແກ້ໄຂມັນຢູ່ client ເຊິ່ງອາດໃຊ້ມຸມມອງ DNS ຂອງເຄືອຂ່າຍອື່ນ. client HTTP ທີ່ຂຽນດ້ວຍ C++ ແລະ ໃຊ້ libcurl ບໍ່ຈຳເປັນຕ້ອງມີ handshake SOCKS ຂອງຕົນເອງ ພຽງເພື່ອເລືອກເສັ້ນທາງນີ້. ສຳລັບປາຍທາງສາທາລະນະທີ່ໄດ້ຮັບອະນຸຍາດ, ບັນຊີ proxy SOCKS5 ສະເໜີຜູ້ສະໝັກເປັນໂຮສ ແລະ ພອດ ເພື່ອແທນຕົວຮັບຟັງ loopback ຕົວຢ່າງ.

ຄ່າ CURLOPT_NOPROXY ຫວ່າງເປົ່າ ເຮັດໃຫ້ການທົດສອບ proxy ເປັນເຈດຕະນາ. ຮັກສາການຂ້າມທີ່ຕັ້ງໃຈ ເມື່ອປັບມັນເຂົ້າກັບນະໂຍບາຍປົກກະຕິຂອງແອັບຯ. ຕົວເລືອກເຫຼົ່ານີ້ມີຜົນຕໍ່ handle ນີ້; ຫ້ອງສະໝຸດ ແລະ ຊັອກເກັດອື່ນໃນຂະບວນການບໍ່ໄດ້ຮັບສິດທິນີ້.

ກວດສອບຄ່າຕອບກັບຂອງການຕັ້ງຕົວເລືອກ ແລະ ການສົ່ງຂໍ້ມູນ ຜ່ານການຈັດການຂໍ້ຜິດພາດຂອງແອັບຯ. ຄວາມລົ້ມເຫຼວໃນການໄປຮອດ ຫຼື ເຈລະຈາກັບ SOCKS ອາດເກີດຂຶ້ນກ່ອນການຕອບສະໜອງ HTTP ໃດໆ ດັ່ງນັ້ນມັນຈຶ່ງບໍ່ໃຫ້ລະຫັດສະຖານະຂອງເວັບໄຊ.

ຂໍ້ມູນຢືນຢັນ proxy ທີ່ຈຳເປັນໃຊ້ການຕັ້ງຄ່າການຢືນຢັນ proxy ທີ່ຮອງຮັບ ແລະ ກົນໄກຄວາມລັບ ແຍກຕ່າງຫາກຈາກການເຂົ້າສູ່ລະບົບຂອງເວັບໄຊ. ເປີດການກວດສອບ TLS ໄວ້: ການເປີດການເຊື່ອມຕໍ່ຜ່ານ SOCKS ບໍ່ໄດ້ຢືນຢັນຕົວຕົນຂອງບໍລິການ HTTPS.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ