Согласно документам curl:
/* TRUE to include the header in the output. */
curl_setopt($Curl_Connection, CURLOPT_HEADER, TRUE);
Таким образом, заголовок добавляется к выводу команды curl_exec.Я выплевывал это и не вижу способа извлечь заголовок отдельно от тела ответа.Ситуация ухудшается, когда вы начинаете читать сжатый вывод (сжатый, раздутый)
Кроме того, это одна большая строка, а не массив, поэтому в случае, если вам нужен заголовок в таком формате, как, например, curl_getinfoвозвращает массив.
Проще всего сделать это:
$backend_output = curl_exec($ch);
list( $backend_response_headers, $backend_response_body)
= explode("\r\n\r\n", $backend_output, 2);
Это разделит эти 2 вверх, но вы получите строку для заголовка ответа, а не массив, которыйбыло бы намного более полезным.Теперь создание массива из этого не так очевидно, даже с регулярным выражением, так как вы не можете разбить, например, на что-то простое, например / (\ w) \ s: (\ w) / as ':' может встречаться в определенных полях,Было бы очень круто, если бы curl предлагал заголовки отдельно, но, поскольку я просматриваю документы, их там, похоже, нет.
Что касается ваших сессионных файлов cookie, я считаю, что вам нужно использовать CURLOPT_COOKIESESSION =Верный вариант для этого, но у меня меньше опыта в отношении файлов cookie, поскольку у меня едва ли есть профессиональная потребность в их использовании.Удачи
обновление: заголовки, которые вы можете проанализировать с помощью http://php.net/manual/en/function.http-parse-headers.php или пользовательской функции из раздела комментариев пользователя, если вам не хватает pecl.