Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 27 май 2013, 13:27
Обратил внимание что $browser->navigate если не соединился выдает всеравно true
Вот пример:
Код: Выделить всё
if($browser->navigate('http://rteerteeeee.com/')) echo 'OK'; else echo 'No connect';
Выдаст OK
Или что-то делаю не так?
-
bigfozzy
- Site Admin
- Сообщения: 3057
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 27 май 2013, 13:35
для проверки соединения есть функции и :
$browser->check_internet_connection
$browser->check_connection
и класс $connection.
Просто правильно ли мы перешли на страницу зависит от самой страницы и использованного прокси и со 100% сказать что переход правильно сделан для абстрактной страницы нельзя. Обычно это проверяется наличием различных заданных элементов страницы. browser->navigate возвращает true - если сделал попытку перехода на заданный урл.
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 27 май 2013, 13:55
Да, но если страница вернула Not Found
У меня нет контнета через $webpage->get_document_body(true); и не понятно совсем в чем дело.
В руководстве по $browser->navigate у вас написано:
Функция возвращает параметры :
true – удалось перейти по заданному адрессу
false – не удалось перейти по заданному адрессу
$browser->check_internet_connection и $browser->check_connection не проверяют существование URL при $browser->navigate
То есть, получается нужно делать 2 запроса, в начале $browser->check_connection а постом $browser->navigate?
Как то не верно. Верно получить статистику соединения при $browser->navigate, если отличается от 200 то делаем другие действия.
$raw->get_last_response_buffer тоже не работает в этом случае
Как отследить при запросе страницы через $browser->navigate что страница есть и все ОК?
-
bigfozzy
- Site Admin
- Сообщения: 3057
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 27 май 2013, 14:26
ок, Спасибо, статус навигации будет проверятся и возвращатся false, если он отличен от 200.
Но вообще для уверенности после навингации обычно надо использовать $element->is_exist_by - т.е точно ли мы перешли на ту самую страницу.