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

Barbara Streisand
Freigeben: 2024-11-17 18:02:02
Original
124 Leute haben es durchsucht

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"); 
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage