cURL realmente é uma biblioteca incrível e no cpp::daily vamos falar basicamente do uso dela com C++ ! Nós fizemos um vídeo com diversos detalhes de como utilizar o cURL via linha de comando e você pode ver nesse link: 12 DICAS para você usar o COMANDO curl como um NINJA .
Mas utilizá-lo com C++ é uma tarefa um pouco mais árdua, porém possível até porque muitas aplicações são feitas utilizando o cURL .
Antes de mais nada certifique-se que você possui a biblioteca cURL instalada no seu sistema, exemplos:
Lembre-se de que não é o comando e sim a biblioteca
sudo emerge net-misc/curl # Gentoo, Funtoo, ...
sudo apt install libcurl3 # ou a libcurl4, para Debian, Ubuntu, Linux Mint, ...
Utilizando com C++
Existem muitas particularidades tanto em escrever o código como compilar. Mas para ficar simples( até porque futuramente teremos um vídeo mais detalhado sobre cURL com C++ ), vou mostrar um exemplo de código que acessa o endereço: https://gnu.terminalroot.com.br/ip.php que devolve dados de acesso como: Sistemas Operacional, Navegador, Arquitetura e número de IP e vamos obtê-lo com C++ .
Perceba que precisamos incluir o cabeçalho: #include <curl/curl.h> e instanciar a class CURL, usamos também a função size_t WriteCallback para nos exibir o retorno. Leia e analise todo o código para uma maior compreensão.
Exemplo: vim curl.cpp
curl_easy_setopt(curl, CURLOPT_URL, "https://gnu.terminalroot.com.br/ip.php");
E para compilar precisamos informar a biblioteca para o compilador, exemplo:
c++ curl.cpp -lcurl -o get-data
Se rodarmos o ./get-data perceberemos que a saída será com os dados informados acima, mas podemos filtrar e então obter nosso endereço de IP: global