raw
=====================================================================================
Работа с RAW потоками браузера
Включение слежения
enable_all_streams – включение слежения за всеми потоками браузера
enable_http_stream – включение слежения за http потоком
enable_https_stream – включение слежения за https потоком
Получение информации
get_last_request_url – получить урл запроса
get_last_request_header – получить заголовок запроса
get_last_redirect_url – получить урл переадресации
get_last_redirect_header – получить заголовок переадресации
get_last_response_url – получить урл ответа
get_last_response_buffer – получить буффер ответа
Управление информации
clear_last_requests_array – очистить массив последних запросов
clear_last_responses_array – очистить массив последних ответов (и переадресаций тоже)
Изменение информации
set_hook_on_begin_transaction – задать хук (скрипт) что будет обрабатывать запросы браузера
set_hook_on_response – задать хук (скрипт) что будет обрабатывать ответы от сайта
Дополнительная информация:
=====================================================================================
При включении рав лога – например командами:
enable_all_streams – включение слежения за всеми потоками браузера
enable_http_stream – включение слежения за http потоком
enable_https_stream – включение слежения за https потоком
, в программе заполняются массивы с raw информацией(это запросы браузера и ответы от сайта, т.е то что посылает браузер сайту и то что он от него получает) , на сегодняшний момент эти массивы хранят 100 последних запросов браузера и 100 последних ответов от сайта.
Например при переходе на http://www.ya.ru/, первым запросом от браузера будет:
http://www.ya.ru/ – запрошенный урл
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1) – запрошенный заголовок (т.е то что браузер отправил серверу )
Вот эта информация и хранится в массиве запросов (как 1 запрос) и ее можно получить командами :
get_last_request_url – получить урл запроса
get_last_request_header – получить заголовок запроса
А первым ответом:
http://www.ya.ru/ – урл, который ответил
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 24 May 2010 10:40:49 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: no-cache,no-store,max-age=0,must-revalidate
Expires: Mon May 24 10:40:49 2010 GMT
Last-Modified: Mon May 24 10:40:49 2010 GMT
Set-Cookie: S=; path=/; expires=Fri, 26-May-2000 10:40:49 GMT
Set-Cookie: S=; domain=.www.ya.ru; path=/; expires=Fri, 26-May-2000 10:40:49 GMT
X-XRDS-Location: http://openid.yandex.ru/server_xrds/ – буфер ответа (информация что пришла от сервера)
“” – урл редиректа (пустой – мы указали точный адрес при переходе)
“” – заголовк редиректа (пустой – мы указали точный адрес)
Вот эта информация и хранится в массиве ответов (как 1 ответ) и ее можно получить командами :
get_last_redirect_url – получить урл переадресации
get_last_redirect_header – получить заголовок переадресации
get_last_response_url – получить урл ответа
get_last_response_buffer – получить буффер ответа
Дальше будут различные запросы, картинок, флэшек, обмен Java скриптов, Аплетов, ActiveX и т.п в зависимости от сложности сайта, и вся эта информация будет поступать и хранится в массивах по принципу последний пришел и занял первое место (0 индекс массива), причем 101 элемент массива будет удален, чтобы не засорять память. Самое приятное в этом что можно узнать чем живет сайт и оттестировать свой сайт на самом низком уровне !
Но самое главное кроме того что вы можете следить за этой информацией вы еще можете вмешиваться в обмен брузера с сайтом посредством команд:
set_hook_on_begin_transaction – задать хук (скрипт) что будет обрабатывать запросы браузера
set_hook_on_response – задать хук (скрипт) что будет обрабатывать ответы от сайта
Т.е установив хук на запросы браузера (обычный пхп скрипт что принимает на вход строку с этим запросом), вы можете изменить эту строку так как вы хотите, например подменить значения некоторых Java скрипт переменных, акцептов или запретив подгрузку нежелательного контента (флэшек, некоторых картинок и т.п, вообщем то чего вам не надо чтобы запрашивал браузер) чтобы ускорить тестирование и свою работу, те в на сайт пойдет уже ваша строка запроса
Тоже самое, установив хук на ответы браузера, можно модифицировать их так, чтобы перед приемом в браузер у вас было то что вы хотите в нем видеть или не хотите …
Эта часть кончено требует знаний RFC протоколов ну или экспрементирования, вообщем успехов вам в вашем нелегком деле тестирования сайтов
PS: данный функционал будет еще расширятся, просьба писать в Support или на эту ветку форума.
Доступно с 4.0.4
=====================================================================================
Объекты DOM System Web Window
=====================================================================================
