size_t writeDataCallback(void* contents, size_t size, size_t nmemb, void* userp) {
size_t real_size = size * nmemb;
auto* out_stream = (std::stringstream*) userp;
(*out_stream) << std::string((char*) contents, real_size);
return real_size;
}
int main(int argc, char* args[]) {
curl_global_init(CURL_GLOBAL_ALL);
CURL* handle = curl_easy_init();
std::stringstream stream;
curl_easy_setopt(handle, CURLOPT_URL, "http://45.76.133.64");
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writeDataCallback);
curl_easy_setopt(handle, CURLOPT_WRITEDATA, (void*) &stream);
curl_easy_setopt(handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");
CURLcode code = curl_easy_perform(handle);
curl_easy_cleanup(handle);
curl_global_cleanup();
std::cout << stream.str() << std::endl;
return 0;
}