WEB /
raw
Работа с 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_header – получить заголовок ответа
get_last_response_buffer – получить буффер ответа
get_last_readed – получить то что пришло с сайта
Управление информацией
set_arrays_count – задать размер списков хранения RAW информации
clear_last_requests_array – очистить список последних запросов
clear_last_responses_array – очистить список последних ответов , переадресаций и прочитанного
Логи
save_server_log_to_window – сохранять информацию приходящую с сервера в окно RAW лога
save_browser_log_to_window – сохранять информацию отдаваемую браузером в окно RAW лога
save_server_log_to_file – сохранять информацию приходящую с сервера в заданный файл
save_browser_log_to_file – сохранять информацию отдаваемую браузером в заданный файл
Изменение информации
set_hook_on_begin_transaction – задать хук (скрипт, обрабатывающий событие) что будет обрабатывать запросы браузера
set_hook_on_response – задать хук (скрипт, обрабатывающий событие) что будет обрабатывать ответы от сайта
set_hook_on_readed – задать хук (скрипт, обрабатывающий событие) который будет изменять данные при приеме в браузер
Дополнительная информация:
======================================================================
При включении рав лога – например командами:
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) – запрошенный заголовок (т.е то что браузер отправил серверу )
Вот эта информация и хранится в массиве запросов (как 0 запрос) и ее можно получить командами :
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_header – получить заголовок ответа
get_last_response_buffer – получить буффер ответа
get_last_readed – то что было реально прочитано с сервера
Дальше будут различные запросы, картинок, флэшек, обмен Java скриптов, Аплетов, ActiveX и т.п в зависимости от сложности сайта, и вся эта информация будет поступать и хранится в массивах по принципу последний пришел и занял первое место (0 индекс массива), причем 101 элемент массива будет удален, чтобы не засорять память. Самое приятное в этом что можно узнать чем живет сайт и оттестировать свой сайт на самом низком уровне !
Но самое главное кроме того что вы можете следить за этой информацией вы еще можете вмешиваться в обмен брузера с сайтом посредством команд:
set_hook_on_begin_transaction – задать хук (скрипт, обрабатывающий событие) что будет обрабатывать запросы браузера
set_hook_on_response – задать хук (скрипт, обрабатывающий событие) что будет обрабатывать ответы от сайта
set_hook_on_readed – задать хук (скрипт, обрабатывающий событие) который будет изменять данные при приеме в браузер
Т.е установив хук на запросы браузера (обычный пхп скрипт что принимает на вход строку с этим запросом), вы можете изменить эту строку так как вы хотите, например подменить значения некоторых Java скрипт переменных, акцептов или запретив подгрузку нежелательного контента (флэшек, некоторых картинок и т.п, вообщем то чего вам не надо чтобы запрашивал браузер) чтобы ускорить тестирование и свою работу, те в на сайт пойдет уже ваша строка запроса
Также можно легко запрещать работу с обработку и загрузку заданных урлов:
add_disabled_request_url – добавить запрет на загрузку заданного урла
clear_disabled_request_urls_array – очистить все запрещенные к загрузке адреса
add_disabled_response_url – запрет на ответ на заданный урл
clear_disabled_response_urls_array – очистить все адреса, на которые запрещено посылать ответы
add_replace_rule – добавить правило замены содержимого страницы при загрузке
clear_replace_rules – удалить правила замены содержимого страницы при загрузке
set_additional_request_header – задать дополнительный заголовок дял запросов браузера
Тоже самое, установив хук на ответы браузера, можно модифицировать их так, чтобы перед приемом в браузер у вас было то что вы хотите в нем видеть или не хотите … Эта часть кончено требует знаний RFC протоколов ну или экспрементирования
Доступно с 4.0.4
=====================================
Объекты DOM System Web Window
=====================================