2017-04-11 3 views
0

Ich versuche, https Anfragen (ssl) zu einem API-Server (Last.fm) mit libcurl zu senden. Wenn ich versuche, HTTP-Anfragen zu senden, ist es in Ordnung, aber wenn ich https-Anfragen sende, ist es nicht OK. Nach vielen Recherchen in Google und Stack-Überlauf bekomme ich diesen Beispielcode aus dem Internet und versuche, sie auszuführen, aber es funktioniert nicht und zeigt diesen Fehler:SSL-Zertifikat-Problem C

curl_easy_perform() schlug fehl: Peer-Zertifikat nicht mit bestimmten CA authentifiziert werden kann Zertifikate

ist der Beispielcode:

#include <stdio.h> 
#include <curl/curl.h> 
#include <string.h> 

int main() { 
CURLcode res; 
CURL *handle = curl_easy_init(); 
char url[] = "https://google.com"; 
curl_easy_setopt(handle, CURLOPT_URL, url); 
res=curl_easy_perform(handle); 
if(res==CURLE_OK) 
{ 
printf("OK"); 
} 

else{ 
printf("curl_easy_perform() failed: %s \n", curl_easy_strerror(res)); 
    } 

return 0; 

} 

PS: ich bin mit gcc von meinem Terminal kompilieren.

Antwort

0

Ich habe das Problem behoben, indem ich libcurl4-gnutls-dev entfernt und libcurl4-openssl-dev installiert habe. Wenn Sie das gleiche Problem haben, brauchen Sie nur diesen Befehl:

Dies entfernt libcurl4-gnutls-dev automatisch.