Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка URL на валидность
 
 автор: b00m   (29.05.2006 в 19:02)
 
 

Пишу что-то вроде поискового робота и возник такой вопрос: Как можно проверить введенный URL на существование? Может быть как-то можно получить код ошибки (404 например). Очень нужно....

   
 
 автор: Unkind™   (29.05.2006 в 19:11)   письмо автору
 
   для: b00m   (29.05.2006 в 19:02)
 

А пишите на сокетах? Если сервер вернет "HTTP/1.0 404 Not Found", то тогда страница не найдена...

   
 
 автор: b00m   (29.05.2006 в 20:16)
 
   для: Unkind™   (29.05.2006 в 19:11)
 

А вот про сокеты я как-то не подумал... А как нить по другому можно сделать - не совсем я вних в эти сокеты въехал...=(

   
 
 автор: Саня   (29.05.2006 в 20:39)   письмо автору
 
   для: b00m   (29.05.2006 в 20:16)
 

Вот вам тема про сокеты:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=17337

А как нить по другому можно сделать...
Можно. При помощи curl.

   
 
 автор: b00m   (29.05.2006 в 23:15)
 
   для: Саня   (29.05.2006 в 20:39)
 

Блин... Не то это все... Мне надо, чтобы проверялся не урл сайта а урл каждой отдельно взятой на нем страницы. Например : http://site.com/1231/ihdex4.php?id=9999

   
 
 автор: cheops   (29.05.2006 в 23:50)   письмо автору
 
   для: b00m   (29.05.2006 в 23:15)
 

Просто указывайте в праметре GET путь /1231/ihdex4.php?id=9999 - возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8441 - в ней приводится функция извлекающая HTTP-заголовки из ответа.

   
 
 автор: b00m   (30.05.2006 в 00:05)
 
   для: cheops   (29.05.2006 в 23:50)
 

А я вот такую штуку нарыл:


$ch = curl_init($url);
        ob_implicit_flush(0) ;
        curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_NOBODY, 1);
        $results=curl_exec ($ch);
        curl_close ($ch);


На выходе вот такая штука:

HTTP/1.1 200 OK Date: Mon, 29 May 2006 19:56:21 GMT Server: Apache/1.3.33 (Win32) PHP/4.4.2 Content-Type: text/html

И вылезает она без всякой дополнительной команды типа echo или print. Вот так вот оказывается странно эта CURL организована=)

Вопрос следующий - можно ли как-то сделать, чтобы значение $results не вылезало в браузер,
а просто сохранялось в текстовой переменной?

А с Вашим вариантом щас покопаюсь

   
 
 автор: Саня   (30.05.2006 в 00:25)   письмо автору
 
   для: b00m   (30.05.2006 в 00:05)
 

$ch = curl_init($url); 
        ob_implicit_flush(0) ; 
        curl_setopt($ch, CURLOPT_HEADER, 1); 
        curl_setopt($ch, CURLOPT_NOBODY, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        $results=curl_exec ($ch); 
        curl_close ($ch);

   
 
 автор: b00m   (30.05.2006 в 00:46)
 
   для: Саня   (30.05.2006 в 00:25)
 

СПАСИБ!!!

Все работает!

Только .... не нужно вводить=) Это видимо маленькая бага форума - не реагирует на теги в листинге=)

   
 
 автор: b00m   (30.05.2006 в 00:49)
 
   для: b00m   (30.05.2006 в 00:46)
 

Фак! Вводить не надо [ Ь ]...[ /Ь ]

Спасибо всем! Тему мона закрывать...
Форум softtime.ru рУлЕзЗз форева=)!

   
 
 автор: b00m   (29.05.2006 в 20:17)
 
   для: b00m   (29.05.2006 в 19:02)
 

Или по подробнее это все дело распишите....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования