Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 22 май 2013, 03:24
Вот такой код:
Код: Выделить всё
// включим слежение и очистим рав информацию
$raw->enable_all_streams(true);
$raw->clear_last_requests_array();
$raw->clear_last_responses_array();
// navigate
$browser->navigate("www.yandex.ru");
$browser->wait();
//получим все заголовки ответа сделанные при запросе
$arr_heders=array();
$arr_redir=array();
for($i=0;$i<100;$i++) {
if($raw->get_last_response_buffer($i)=="false" || !$raw->get_last_response_buffer($i)) break;
$arr_heders[$i]['url']=$raw->get_last_response_url($i);
$arr_heders[$i]['hed']=$raw->get_last_response_buffer($i);
$arr_heders[$i]['urlred']=$raw->get_last_redirect_url($i);
$arr_heders[$i]['hedred']=$raw->get_last_redirect_header($i);
}
echo '<br /><pre>';
print_r($arr_heders);
echo '</pre><br />';
// выключим слежение
$raw->enable_all_streams(false);
Смотрим вывод и видим что вместо заголовков $raw->get_last_redirect_header передает URL редиректа
А $raw->get_last_redirect_url вообще ничего не передает
Версия хумана 4.6.11
Это ошибка или так должно быть?
И кстати, как получить все заголовки?
-
bigfozzy
- Site Admin
- Сообщения: 3048
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 22 май 2013, 11:46
Спасибо, нашли баг и исправили, багфикс будет доступен в 4.6.14 beta сегодня вечером.
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 22 май 2013, 12:24
bigfozzy О спасибо.
А как насчет получения всех заголовков, не только 100 последних?
Как их получить, есть варианты?
-
bigfozzy
- Site Admin
- Сообщения: 3048
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 22 май 2013, 12:32
Добавил raw->set_arrays_size, где можно задать больше число хранимых последних запросов и ответов больше 100
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 23 май 2013, 10:44
Протестировал, работает, спасибо
Еще вопрос, можно как то отслеживать размер возвращаемого контента в байтах.
Content-Length: в заголовках не всегда указывается.
То есть не просто заголовок ответа получать но еще и вес?
-
bigfozzy
- Site Admin
- Сообщения: 3048
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 27 май 2013, 10:35
OlegGraf писал(а):Протестировал, работает, спасибо
Еще вопрос, можно как то отслеживать размер возвращаемого контента в байтах.
Content-Length: в заголовках не всегда указывается.
То есть не просто заголовок ответа получать но еще и вес?
Принято, добавил в список задач
-
OlegGraf
- Сообщения: 76
- Зарегистрирован: 04 ноя 2011, 01:01
Сообщение
OlegGraf » 27 май 2013, 13:32
Еще для списка задач:
Иногда очень нужно получить код ответа сервера сразу после конекта.
То есть, после запроса страницы, например так:
Код: Выделить всё
$browser->navigate('http://testsite.com/');
$browser->wait_for(3);
if($browser->httpcode() == 200){
echo 'Ok connection';
}