Я запускаю этот скрипт
<?php
$url = "www.yandex.ru";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
curl должен возвращать код ошибки если заголовка Content-Type нету. Почему он возвращает полностью страницу?
Мне срочно нужен ответ.
(Если этот вопрос не в эту тему, то напишите куда переместили. спасибо.)
Спустя 10 минут, 8 секунд (20.01.2010 - 10:49) Gradus написал(а):
Цитата |
Мне срочно нужен ответ. |
только не увольняйте
Цитата |
Почему он возвращает полностью страницу? |
используйте параметры CURLOPT_NOBODY и CURLOPT_HEADER с значением 1
Спустя 33 минуты, 20 секунд (20.01.2010 - 11:23) prog901 написал(а):
Спасибо, Gradus
она возвращает теперь вот эту строку:
HTTP/1.1 200 OK Date: Wed, 20 Jan 2010 08:20:30 GMT Server: Apache/2.2.10 (Linux/SUSE) Last-Modified: Wed, 20 Jan 2010 08:20:27 Content-Length: 8 Content-Type: text/html 1
мне надо с помощью curl проверять сайты на невалидность. Мне сказали что если сайт валиден то curl возвращает 200. После http/1.1 в строке стоит 200 - это и есть тот код? если да то почему curl возвращает 200 для невалидного сайта который я написал сам на localhost?
она возвращает теперь вот эту строку:
HTTP/1.1 200 OK Date: Wed, 20 Jan 2010 08:20:30 GMT Server: Apache/2.2.10 (Linux/SUSE) Last-Modified: Wed, 20 Jan 2010 08:20:27 Content-Length: 8 Content-Type: text/html 1
мне надо с помощью curl проверять сайты на невалидность. Мне сказали что если сайт валиден то curl возвращает 200. После http/1.1 в строке стоит 200 - это и есть тот код? если да то почему curl возвращает 200 для невалидного сайта который я написал сам на localhost?
Спустя 7 минут, 14 секунд (20.01.2010 - 11:30) Oyeme написал(а):
echo curl_error($ch);
Спустя 2 минуты, 7 секунд (20.01.2010 - 11:32) Gradus написал(а):
Цитата |
После http/1.1 в строке стоит 200 - это и есть тот код? |
Спустя 42 минуты, 34 секунды (20.01.2010 - 12:15) prog901 написал(а):
Спасибо,
но все равно еще не работает. приходит та же строка.
HTTP/1.1 200 OK Server: nginx Date: Wed, 20 Jan 2010 08:57:34 GMT Content-Type: text/html; charset=UTF-8
но все равно еще не работает. приходит та же строка.
HTTP/1.1 200 OK Server: nginx Date: Wed, 20 Jan 2010 08:57:34 GMT Content-Type: text/html; charset=UTF-8
Спустя 23 минуты, 27 секунд (20.01.2010 - 12:38) Gradus написал(а):
почему не работает ? вам отдают заголовок что до сайта достучались.
что должно быть то ?
что должно быть то ?
Спустя 4 минуты, 24 секунды (20.01.2010 - 12:43) Семён написал(а):
prog901
А что localhost не имеет право на существование?
А что localhost не имеет право на существование?

Спустя 19 минут, 34 секунды (20.01.2010 - 13:02) arlamar написал(а):
Цитата |
мне надо с помощью curl проверять сайты на невалидность |
надеюсь ты не html валидность проверяешь curlом?)
Спустя 1 час, 10 минут, 30 секунд (20.01.2010 - 14:13) prog901 написал(а):
Спасибо. мне сказали не правильно - нужно действительно проверять не html валидность а http валидность. т..е рабоатет или нет.
А почему curl выводит в браузер результат даже если я убираю echo?
<?php
$url="www.yandex.ru";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/html"));
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
//echo $result; - закомментировал
curl_close($ch);
?>
А почему curl выводит в браузер результат даже если я убираю echo?
<?php
$url="www.yandex.ru";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/html"));
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
//echo $result; - закомментировал
curl_close($ch);
?>
Спустя 1 час, 34 минуты, 58 секунд (20.01.2010 - 15:48) Gradus написал(а):
потому как его не предупредили 
добавьте CURLOPT_RETURNTRANSFER с 1

добавьте CURLOPT_RETURNTRANSFER с 1
Спустя 3 часа, 20 минут, 57 секунд (20.01.2010 - 19:09) prog901 написал(а):
Спасибо)) заработало