2013-04-03 3 views
0

Я создаю веб-скребок с php и curl. Я смотрю, что если код состояния http отвечает 3xx, завиток все равно загружает содержимое тела. Если содержание тела невелико, я думаю, что это не проблема, но в моем случае есть страницы с 3xx и огромным содержимым тела. Я просто хочу перенаправить сразу, если он получил 3xx без получения содержимого тела. Как это сделать?php curl немедленно перенаправляет, если получил код состояния 3xx

ответ

0

Сначала вам нужно to tell it, что только статусы менее 4xx хороши.

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_FAILONERROR, true); 

CURLOPT_FAILONERROR
ИСТИНА потерпеть неудачу тихо, если код HTTP Возвращается больше или равен 400. Поведение по умолчанию для возврата страницы обычно, не обращая внимания на код.

Во-вторых, для ошибок 3xx вам необходимо следовать перенаправлениям. См. CURLOPT_FOLLOWLOCATION и CURLOPT_MAXREDIRS.

+0

даже мы используем CURLOPT_FOLLOWLOCATION, скручиваем, чтобы получить содержимое тела перед перенаправлением. Я просто хочу пропустить это. – cococool

Смежные вопросы