Witam,
Mam następujący problem. Piszę taki system pluginów a także sklep z dodatkami do mojego programu. Na Githubie stworzyłem repozytorium z jakimiś bibliotekami.
Link: Github
Mam kod w C++, chce pobrać plik libmysql.lib. Po wklejeniu URL z kodu do przeglądarki plik się pobiera, więc URL jest poprawny.
#include <curl/curl.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
size_t write_data(void* ptr, size_t size, size_t nmemb, FILE* stream)
{
size_t written = fwrite(ptr, size, nmemb, stream);
return written;
}
int main()
{
CURL* curl;
FILE* fp;
CURLcode res;
string url = "https://github.com/CTSoftwareOriginal/filesMathTool/raw/main/libmysql.dll";
string outfilename = "libmysql.dll";
curl = curl_easy_init();
if (curl)
{
fp = fopen(outfilename.c_str(), "wb");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
if(res != CURLE_OK) // Sprawdzamy, czy wystąpił błąd
{
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); // Wyświetlamy informacje o błędzie
}
curl_easy_cleanup(curl);
fclose(fp);
}
return 0;
}
I teraz jest komunikat z konsoli:
curl_easy_perform() failed: SSL peer certificate or SSH remote key was not OK
Dobra, wyłączyłem certyfikacje:
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); // wyłączamy weryfikację certyfikatu serwera SSL/TLS
I teraz nie czepia się:
Process returned 0 (0x0) execution time : 0.561 s
Press any key to continue.
Ale plik pobrany waży 0B i jest pusty:
Plik po pobraniu po wklejeniu linku: https://github.com/CTSoftwareOriginal/filesMathTool/raw/main/libmysql.dll do przeglądarki:
Co jest nie tak. Czy ktoś może doradzić. Próbowałem generować token API z GitHuba ale nie zadziałało. Może coś źle robię?. Jak ktoś się zna na tym to proszę o pomoc.
Z góry dzięki :)