Aplikazioaren lehendik dagoen libcurl hasieraketaren eta easy-handle bizi-zikloaren barruan:

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 helmugako ostalari-izena SOCKS bidearen bidez bidaltzen du. CURLPROXY_SOCKS5 horren ordez bezeroan ebazten du, beste sare baten DNS ikuspegia erabil dezakeena. libcurl erabiltzen duen C++ HTTP bezeroak ez du bere SOCKS eskuko keinurik behar ibilbide hau hautatzeko soilik. Baimendutako amaiera-puntu publiko baterako, SOCKS5 proxy zerrendak ostalari eta portu hautagaiak eskaintzen ditu loopback entzule ilustratzailea ordezkatzeko.

Balio CURLOPT_NOPROXY hutsak proxy proba nahita egiten du. Mantendu aurreikusitako saihesbideak aplikazioaren politika arruntera egokitzean. Aukera hauek handle honi eragiten diote; prozesuko beste liburutegi eta socketek ez dituzte heredatzen.

Egiaztatu aukerak ezartzearen eta transferentziaren itzulera-balioak aplikazioaren errore-kudeaketaren bidez. SOCKS-era iristeak edo harekin negoziatzeak HTTP erantzunaren aurretik huts egin dezake, beraz ez du webgunearen egoera-koderik ematen.

Beharrezko proxy kredentzialek onartutako proxy autentifikazio-ezarpenak eta sekretu-mekanismoa erabiltzen dituzte, webguneko saio-hasieratik bereizita. Mantendu TLS egiaztapena aktibatuta: SOCKS bidez konexioa irekitzeak ez du HTTPS zerbitzuaren identitatea ezartzen.

Erlazionatutako artikuluak