Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengekstrak Kuki daripada Respons Curl PHP ke dalam Pembolehubah?

Bagaimanakah Saya Boleh Mengekstrak Kuki daripada Respons Curl PHP ke dalam Pembolehubah?

Barbara Streisand
Lepaskan: 2024-12-22 15:12:11
asal
788 orang telah melayarinya

How Can I Extract Cookies from a PHP Curl Response into a Variable?

Mendapatkan semula Kuki daripada PHP Curl Response ke dalam Pembolehubah

Dalam senario tertentu, respons API luaran mungkin dibenamkan secara tidak jelas sebagai kuki dalam pengepala HTTP , bukannya menggunakan protokol komunikasi konvensional seperti SOAP atau REST. Untuk memudahkan pengekstrakan kuki ini ke dalam tatasusunan berstruktur tanpa menggunakan penghuraian yang susah payah, teknik berikut boleh digunakan.

Menggunakan sambungan PHP Curl, anda boleh mendapatkan semula respons HTTP, termasuk kuki, menggunakan yang berikut kod:

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Retrieve headers too
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
Salin selepas log masuk

Untuk mengekstrak kuki daripada respons, ungkapan biasa boleh bekerja:

// Extract cookies using regular expressions
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
Salin selepas log masuk

Tatasusunan $matches akan mengandungi semua kuki yang terdapat dalam respons. Untuk menukar ini kepada format yang lebih berguna, setiap rentetan kuki boleh dihuraikan ke dalam tatasusunan menggunakan parse_str:

$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
Salin selepas log masuk

Akhir sekali, anda boleh mengakses kuki dalam tatasusunan $cookies. Pendekatan ini berkesan mengekstrak kuki daripada tindak balas curl tanpa memerlukan penghuraian kompleks atau operasi berasaskan fail.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Kuki daripada Respons Curl PHP ke dalam Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan