Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine cURL-HTTPS-Verbindung leeren Inhalt zurück und wie kann ich das beheben?

Warum gibt meine cURL-HTTPS-Verbindung leeren Inhalt zurück und wie kann ich das beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 18:02:02268Durchsuche

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

HTTPS-Verbindungsfehlerproblem und seine Lösung

Bei der Verwendung von cURL zum Herstellen einer Verbindung zu einer HTTPS-Website bin ich auf ein häufiges Problem gestoßen: Nur cURL wird zurückgegeben Inhalt mit der Länge 0, nur gültig, wenn cURL so eingestellt ist, dass Header zurückgegeben werden. Dieses Problem wird höchstwahrscheinlich durch HTTPS-Verbindungen verursacht.

Die Problemumgehung für dieses Problem besteht darin, die Version der Authentifizierungsdatei zu aktualisieren, die mit cURL zur Validierung von HTTPS-Zertifikaten geliefert wird. Die neuesten Authentifizierungsdateien können unter http://curl.haxx.se/ca/cacert.pem heruntergeladen werden. Speichern Sie es in einem Verzeichnis auf Ihrer Website und fügen Sie bei jeder Anfrage Folgendes hinzu:

curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem"); 

Es ist wichtig zu beachten, dass Sie in der Lösung CURLOPT_VERIFYPEER und CURLOPT_VERIFYHOST nicht deaktivieren, da dies zu einer Reduzierung führt Sicherheit des Codes.

Eine bessere Lösung besteht darin, die von Jasen vorgeschlagene Methode wie folgt zu verwenden:

In php.ini hinzufügen:

curl.cainfo=/etc/ssl/certs/ca-certificates.crt

Außerdem können Sie das Composer-Paket Paragonie verwenden /Certainty zur Verwaltung von CA-Zertifikaten, um Sicherheitslücken zu vermeiden, die durch den Ablauf von cacert.pem aufgrund eines Zertifikatswiderrufs verursacht werden.

Das obige ist der detaillierte Inhalt vonWarum gibt meine cURL-HTTPS-Verbindung leeren Inhalt zurück und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn