Ffurfweddu handlen libcurl ar gyfer datrys enw gwesteiwr SOCKS5
Defnyddiwch CURLPROXY_SOCKS5_HOSTNAME ar yr handlen drosglwyddo i ddatrys y cyrchfan drwy'r dirprwy.
O fewn cychwyn libcurl presennol y rhaglen a chylch bywyd 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 anfon enw gwesteiwr y cyrchfan ar hyd llwybr SOCKS. CURLPROXY_SOCKS5 yn lle hynny mae'n ei ddatrys ar y cleient, a all ddefnyddio golwg DNS rhwydwaith gwahanol. Nid oes angen handshake SOCKS ei hun ar gleient HTTP C++ sy'n defnyddio libcurl dim ond i ddewis y llwybr hwn. Ar gyfer pwynt diwedd cyhoeddus a ganiateir, mae rhestr dirprwyon SOCKS5 yn cynnig ymgeiswyr gwesteiwr a phorth i ddisodli'r gwrandäwr loopback darluniadol.
Mae'r gwerth CURLOPT_NOPROXY gwag yn gwneud y prawf dirprwy yn fwriadol. Cadwch y gollyngiadau bwriadedig wrth ei addasu i bolisi arferol y rhaglen. Mae'r opsiynau hyn yn effeithio ar yr handlen hon; nid yw llyfrgelloedd a socedi eraill yn y broses yn eu hetifeddu.
Gwiriwch y gwerthoedd dychwelyd ar gyfer gosod opsiynau a throsglwyddo drwy drin gwallau'r rhaglen. Gall methiant i gyrraedd SOCKS neu drafod ag ef ddigwydd cyn unrhyw ymateb HTTP, felly nid yw'n rhoi cod statws gwefan.
Mae tystlythyrau dirprwy gofynnol yn defnyddio'r gosodiadau dilysu dirprwy a gefnogir a'r mecanwaith cyfrinachau, ar wahân i fewngofnodi'r wefan. Cadwch ddilysu TLS ymlaen: nid yw agor cysylltiad drwy SOCKS yn sefydlu hunaniaeth y gwasanaeth HTTPS.