Как можно получить все коды ответа сервера при работе с cURL?

Отправляю запрос на сервер средствами php и cURL, но не могу перехватить, было ли перенаправление с кодом 301 на другую страницу.

curl_getinfo($ch,CURLINFO_HTTP_CODE);
Данный код возвращает только последний полученный HTTP код.

При использовании данного кода, возвращаются все заголовки, но вместе с веб-страницей.
curl_setopt($ch, CURLOPT_HEADER, 1);

Возможно ли как-то отдельно получить эти данные, не отправляя лишних запросов?
  • Вопрос задан
  • 5174 просмотра
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Редирект это в любом случае еще один запрос.
Можно написать свой обработчик редиректа
Для этого ставим
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
смотрим заголовки, если надо запрашиваем новую страницу (и так в цикле до победы)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@stas3572
curl_getinfo():
CURLINFO_REDIRECT_COUNT - количество перенаправлений
CURLINFO_REDIRECT_TIME - время на перенаправления, в секундах

curl_setopt():
CURLOPT_VERBOSE - вывод доп. информации

могут помочь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы