Ошибка получения get_last_redirect_header

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Ответить
OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Ошибка получения get_last_redirect_header

Сообщение 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
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Ошибка получения get_last_redirect_header

Сообщение bigfozzy » 22 май 2013, 11:46

Спасибо, нашли баг и исправили, багфикс будет доступен в 4.6.14 beta сегодня вечером.

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Ошибка получения get_last_redirect_header

Сообщение OlegGraf » 22 май 2013, 12:24

bigfozzy О спасибо.
А как насчет получения всех заголовков, не только 100 последних?
Как их получить, есть варианты?

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Ошибка получения get_last_redirect_header

Сообщение bigfozzy » 22 май 2013, 12:32

Добавил raw->set_arrays_size, где можно задать больше число хранимых последних запросов и ответов больше 100

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Ошибка получения get_last_redirect_header

Сообщение OlegGraf » 22 май 2013, 13:14

Спасибо!!!
Жду новую версию

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Ошибка получения get_last_redirect_header

Сообщение OlegGraf » 23 май 2013, 10:44

Протестировал, работает, спасибо
Еще вопрос, можно как то отслеживать размер возвращаемого контента в байтах.
Content-Length: в заголовках не всегда указывается.
То есть не просто заголовок ответа получать но еще и вес?

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Ошибка получения get_last_redirect_header

Сообщение bigfozzy » 27 май 2013, 10:35

OlegGraf писал(а):Протестировал, работает, спасибо
Еще вопрос, можно как то отслеживать размер возвращаемого контента в байтах.
Content-Length: в заголовках не всегда указывается.
То есть не просто заголовок ответа получать но еще и вес?
Принято, добавил в список задач

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Ошибка получения get_last_redirect_header

Сообщение OlegGraf » 27 май 2013, 13:32

Еще для списка задач:
Иногда очень нужно получить код ответа сервера сразу после конекта.
То есть, после запроса страницы, например так:

Код: Выделить всё

$browser->navigate('http://testsite.com/');
$browser->wait_for(3);
if($browser->httpcode() == 200){
echo 'Ok connection';
}

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Ошибка получения get_last_redirect_header

Сообщение bigfozzy » 27 май 2013, 13:36

принято

Ответить