Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Sambungan HTTPS cURL Saya Mengembalikan Kandungan Kosong, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Sambungan HTTPS cURL Saya Mengembalikan Kandungan Kosong, dan Bagaimana Saya Boleh Membetulkannya?

Barbara Streisand
Barbara Streisandasal
2024-11-17 18:02:02233semak imbas

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

Masalah kegagalan sambungan HTTPS dan penyelesaiannya

Apabila menggunakan cURL untuk menyambung ke tapak web HTTPS, saya menghadapi masalah biasa: cURL only Returns Kandungan 0-panjang, hanya sah jika cURL ditetapkan untuk mengembalikan pengepala. Isu ini berkemungkinan besar disebabkan oleh sambungan HTTPS.

Penyelesaian untuk isu ini ialah mengemas kini versi fail pengesahan yang disertakan dengan cURL untuk mengesahkan sijil HTTPS. Fail pengesahan terkini boleh dimuat turun dari http://curl.haxx.se/ca/cacert.pem. Simpannya pada direktori di tapak web anda dan tambahkan dalam setiap permintaan:

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

Adalah penting untuk ambil perhatian bahawa dalam penyelesaian jangan lumpuhkan CURLOPT_VERIFYPEER dan CURLOPT_VERIFYHOST, Kerana ini akan mengurangkan keselamatan kod.

Penyelesaian yang lebih baik ialah menggunakan kaedah yang dicadangkan oleh Jasen seperti berikut:

Dalam php.ini tambah:

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

Selain itu, anda boleh Gunakan pakej komposer Paragonie /Kepastian untuk mengurus sijil CA untuk mengelakkan kelemahan keselamatan yang disebabkan oleh tamat tempoh cacert.pem akibat pembatalan sijil.

Atas ialah kandungan terperinci Mengapa Sambungan HTTPS cURL Saya Mengembalikan Kandungan Kosong, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn