Memelihara Aktiviti Sesi dengan Curl dalam PHP
Dalam percubaan untuk menyambung ke API, mengesahkan pengguna dan mendapatkan semula butiran pengguna, anda mungkin menghadapi ralat yang tidak dibenarkan apabila mengakses butiran pengguna selepas berjaya log masuk dengan Curl. Isu ini berpunca daripada ketidakupayaan Curl untuk mengekalkan kuki sesi dengan berkesan.
Penyelesaian
Untuk menyelesaikan masalah ini, anda perlu menentukan pilihan CURLOPT_COOKIEFILE dalam kod Curl anda. Pilihan ini menentukan laluan ke fail tempat kuki harus disimpan dan dimuatkan.
Kod Kemas Kini
Kod dikemas kini berikut termasuk pilihan CURLOPT_COOKIEFILE, memastikan bahawa kuki disimpan dan dihantar dengan betul:
define("COOKIE_FILE", "cookie.txt"); // Login the user $ch = curl_init('http://api.example.com/login/joe/smith'); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE); // <--- Add this line curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); echo curl_exec ($ch); // ... Rest of the code remains the same ...
Dengan tetapan CURLOPT_COOKIEFILE, Curl kini boleh memuatkan dan menghantar kuki sesi dengan betul, membolehkan anda berjaya mendapatkan butiran pengguna selepas log masuk.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Aktiviti Sesi Menggunakan Curl dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!