SOCKS5 خوست ئاتىنى ھەل قىلىش ئۈچۈن libcurl تۇتقۇچىسىنى سەپلەش
مەنزىلنى ۋاكالەتچى ئارقىلىق ھەل قىلىش ئۈچۈن يۆتكەش تۇتقۇچىسىدا CURLPROXY_SOCKS5_HOSTNAME ئىشلىتىڭ.
ئەپنىڭ مەۋجۇت 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 ئەكسىچە ئۇنى خېرىداردا ھەل قىلىدۇ، ئۇ باشقا تورنىڭ DNS كۆرۈنۈشىنى ئىشلىتەلەيدۇ. libcurl ئىشلىتىدىغان C++ HTTP خېرىدارى پەقەت بۇ يولنى تاللاش ئۈچۈن ئۆزىنىڭ SOCKS قول ئېلىشىشىغا ئېھتىياجلىق ئەمەس. رۇخسەت قىلىنغان ئاممىۋى ئاخىرقى نۇقتا ئۈچۈن، SOCKS5 ۋاكالەتچى تىزىملىكى مىسال loopback ئاڭلىغۇچىنىڭ ئورنىغا خوست ۋە پورت نامزاتلىرىنى تەمىنلەيدۇ.
قۇرۇق CURLOPT_NOPROXY قىممەت ۋاكالەتچى سىنىقىنى قەستەن قىلىدۇ. ئۇنى نورمال ئەپ سىياسىتىگە ماسلاشتۇرغاندا مەقسەتلىك چەتلىتىشلەرنى ساقلاڭ. بۇ تاللانمىلار بۇ تۇتقۇچقا تەسىر كۆرسىتىدۇ؛ جەرياندىكى باشقا كۇتۇپخانىلار ۋە سوكېتلار ئۇلارنى مىراس ئالمايدۇ.
تاللانما تەڭشەش ۋە يۆتكەشنىڭ قايتۇرۇش قىممەتلىرىنى ئەپنىڭ خاتالىق بىر تەرەپ قىلىشى ئارقىلىق تەكشۈرۈڭ. SOCKS كە يېتىش ياكى ئۇنىڭ بىلەن سۆھبەتلىشىش مەغلۇپ بولۇش ھەر قانداق HTTP ئىنكاسىدىن بۇرۇن يۈز بېرىشى مۇمكىن، شۇڭا ئۇ تور بېكەت ھالەت كودىنى بەرمەيدۇ.
زۆرۈر ۋاكالەتچى گۇۋاھنامىلىرى تور بېكەتكە كىرىشتىن ئايرىم ھالدا قوللايدىغان ۋاكالەتچى دەلىللەش تەڭشەكلىرى ۋە مەخپىيەت مېخانىزىمىنى ئىشلىتىدۇ. TLS دەلىللەشىنى ئوچۇق ساقلاڭ: SOCKS ئارقىلىق ئۇلىنىش ئېچىش HTTPS مۇلازىمىتىنىڭ كىملىكىنى ئىسپاتلىمايدۇ.