Страница 1 из 1

$raw->set_hook_on_begin_transaction('hook.php')

Добавлено: 01 ноя 2010, 07:17
satih
результат $raw->set_hook_on_begin_transaction и снифера расходятся.

тестовый скрипт:

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

<?php
// The following code is required to properly run Xedant Human Emulator
require("../../Templates/xweb_human_emulator.php");

// включим слежение
$raw->enable_all_streams(true);
 
// зададим хук
$raw->set_hook_on_begin_transaction('hook.php');

// переходим на сайт
$browser->navigate('http://www.youtube.com/');
$browser->wait();

$raw->enable_all_streams(false);

$app->quit();
?>
скрипт хука:

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

<?php
// The following code is required to properly run Xedant Human Emulator
require("../../Templates/xweb_human_emulator.php");

$url = file_get_contents('hook.in1');
$header = file_get_contents('hook.in');
file_put_contents('out.txt', $url."\r\n".$header."\r\n------------------------------------------\r\n", FILE_APPEND);
file_put_contents('hook.out', '<unchanged>');
?>
результат хука:
http://www.youtube.com/
Accept-Language: en-us
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
результат снифера:
GET / HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Language: ru
Accept-Encoding: gzip, deflate
Host: www.youtube.com
Connection: Keep-Alive
в результате хука нескольких строк не хватает, и два раза "Accept-Language"? это простой пример, в более сложных хедерах нет строк кукисов и т.д.