Emilstud

Untitled

Oct 12th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
  2. {
  3.     std::string data((const char*) ptr, (size_t) size * nmemb);
  4.     *((std::stringstream*) stream) << data << std::endl;
  5.     return size * nmemb;
  6. }
  7.  
  8.  
  9. std::string UpdateManager::download(std::string url)
  10. {
  11.     CURL *curl = curl_easy_init();
  12.  
  13.     curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
  14.     //curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  15.     //curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
  16.     curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "");
  17.     std::stringstream out;
  18.     curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
  19.     curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out);
  20.     CURLcode res = curl_easy_perform(curl);
  21.     if (res != CURLE_OK)
  22.         return "ERROR";
  23.  
  24.     curl_easy_cleanup(curl);
  25.     return out.str();
  26. }
Advertisement
Add Comment
Please, Sign In to add comment