Mengekalkan Sesi Hidup dengan Curl dan PHP: Menyelesaikan 401 Ralat Tanpa Kebenaran
Untuk mengesahkan pengguna dan mendapatkan butiran mereka, kod Curl anda mesti mengekalkan sesi itu. Walau bagaimanapun, anda menghadapi ralat 401 tanpa kebenaran apabila cuba mengakses butiran pengguna selepas log masuk berjaya.
Isunya terletak pada kekurangan pilihan CURLOPT_COOKIEFILE dalam persediaan Curl anda. Pilihan ini menentukan fail dari mana kuki harus dibaca semasa melaksanakan permintaan seterusnya. Tanpa pilihan ini, Curl tidak menghantar kuki yang disimpan, yang membawa kepada kegagalan kebenaran.
Untuk menyelesaikannya, tambah CURLOPT_COOKIEFILE pada kod Curl anda, merujuk fail kuki yang sama yang anda gunakan dengan CURLOPT_COOKIEJAR. Ini akan memastikan bahawa Curl membaca kuki yang disimpan daripada fail dan memasukkannya dalam permintaan seterusnya:
$ch = curl_init('http://api.example.com/user'); curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); **curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);** curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true);
Dengan memasukkan kedua-dua pilihan, CURLOPT_COOKIEJAR dan CURLOPT_COOKIEFILE, Curl akan mengendalikan kuki sesi dengan betul, membolehkan anda mengekalkan kuki yang disahkan sesi dan berjaya mengakses butiran pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Ralat Tidak Dibenarkan 401 Apabila Menggunakan Curl dan PHP untuk Mengekalkan Sesi Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!