Maison > Article > développement back-end > Pourquoi ma connexion HTTPS cURL renvoie-t-elle du contenu vide et comment puis-je y remédier ?
Problème d'échec de connexion HTTPS et sa solution
Lors de l'utilisation de cURL pour me connecter à un site Web HTTPS, j'ai rencontré un problème courant : cURL uniquement Contenu de longueur 0, valide uniquement si cURL est configuré pour renvoyer les en-têtes. Ce problème est probablement dû aux connexions HTTPS.
La solution de contournement à ce problème consiste à mettre à jour la version du fichier d'authentification fourni avec cURL pour valider les certificats HTTPS. Les derniers fichiers d'authentification peuvent être téléchargés à partir de http://curl.haxx.se/ca/cacert.pem. Enregistrez-le dans un répertoire de votre site Web et ajoutez-le à chaque requête :
curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
Il est important de noter que dans la solution ne désactivez pas CURLOPT_VERIFYPEER et CURLOPT_VERIFYHOST, car cela réduirait le sécurité du code.
Une meilleure solution est d'utiliser la méthode proposée par Jasen comme suit :
Dans php.ini ajoutez :
curl.cainfo=/etc/ssl/certs/ca-certificates.crt
Vous pouvez également utiliser le package composer Paragonie /Certainty pour gérer les certificats CA afin d'éviter les vulnérabilités de sécurité causées par l'expiration de cacert.pem en raison de la révocation de certificat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!