Maison  >  Article  >  développement back-end  >  Pourquoi ma connexion HTTPS cURL renvoie-t-elle du contenu vide et comment puis-je y remédier ?

Pourquoi ma connexion HTTPS cURL renvoie-t-elle du contenu vide et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-17 18:02:02127parcourir

Why Does My cURL HTTPS Connection Return Empty Content, and How Can I Fix It?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn