Я загружаю несколько файлов из моего github < /strong>, используя мой личный токен, я смог заставить его работать, но загрузить их один за другим.#include
static size_t WriteMemoryCallback(void* contents, size_t size, size_t nmemb, void* userp)
{
size_t realsize = size * nmemb;
auto& mem = *static_cast(userp);
mem.append(static_cast(contents), realsize);
SecureZeroMemory(contents, realsize);
return realsize;
}
void curl(std::string& data, const std::string_view& url)
{
CURL* curl_handle;
CURLcode res;
struct curl_slist* slist{};
curl_handle = curl_easy_init();
curl_easy_setopt(curl_handle, CURLOPT_URL, url.data());
//curl_easy_setopt(curl_handle, CURLOPT_TCP_KEEPALIVE, 0);
slist = curl_slist_append(slist, gitToken.data());
slist = curl_slist_append(slist, "Accept: application/vnd.github.v3.raw");
curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, slist);
curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, &data);
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "curl/7.55.1");
// Necessary for downloading file from github repo.
curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); // only to debug
res = curl_easy_perform(curl_handle);
OutputDebugStringA(curl_easy_strerror(res));
if(res != CURLE_OK)
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/769 ... -with-curl