I am accustomed to using JS and Python, and I want to be able to make a get request to an API and get the JSON. How can I accomplish this in C++?
system
Estou acostumado a usar JS e Python e quero poder fazer uma solicitação de obter uma API e obter o JSON.Como posso conseguir isso em C ++?
user
Minha sugestão seria usar um invólucro para o CURL, que é uma ótima utilidade para esse tipo de caso de uso.Eu recomendo experimentar o curlpp.Aqui está algum código de exemplo em que buscamos dados de uma API:

#include <curlpp/curlpp.hpp>
#include <curlpp/easy.hpp>
#include <curlpp/options.hpp>

int main () {
tentar
{
Curlpp :: Initialize ();
Curlpp :: Easy Req;
// Vamos usar uma API climática como nosso exemplo.
req.setOpt <Curlpp :: Options :: url> ("https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current_weather=true&hourly=temperature_2m.relativehumspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspsplos
req.perform ();
//Limpar
Curlpp :: encerrinate ();
retornar 0;
}
Catch (Curlpp :: RunTimeError & e)
{
std :: Cerr << e.what () << std :: endl;
}
Catch (Curlpp :: Logicerror & e)
{
std :: Cerr << e.what () << std :: endl;
}
}

Aqui está um exemplo makefile:

my_curl_program: my_curl_program.cpp
        g ++ -o my_curl_program -std = c ++ 11 -iinclude -lcurlpp -lcurl my_curl_program.cpp
assistant
<|system|>
</s>
<|user|>
Estou acostumado a usar JS e Python e quero poder fazer uma solicitação de obter uma API e obter o JSON.Como posso conseguir isso em C ++?</s>
<|assistant|>
Minha sugestão seria usar um invólucro para o CURL, que é uma ótima utilidade para esse tipo de caso de uso.Eu recomendo experimentar o curlpp.Aqui está algum código de exemplo em que buscamos dados de uma API:

#include <curlpp/curlpp.hpp>
#include <curlpp/easy.hpp>
#include <curlpp/options.hpp>

int main () {
tentar
{
Curlpp :: Initialize ();
Curlpp :: Easy Req;
// Vamos usar uma API climática como nosso exemplo.
req.setOpt <Curlpp :: Options :: url> ("https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current_weather=true&hourly=temperature_2m.relativehumspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspspsplos
req.perform ();
//Limpar
Curlpp :: encerrinate ();
retornar 0;
}
Catch (Curlpp :: RunTimeError & e)
{
std :: Cerr << e.what () << std :: endl;
}
Catch (Curlpp :: Logicerror & e)
{
std :: Cerr << e.what () << std :: endl;
}
}

Aqui está um exemplo makefile:

my_curl_program: my_curl_program.cpp
        g ++ -o my_curl_program -std = c ++ 11 -iinclude -lcurlpp -lcurl my_curl_program.cpp</s>
