Захват сетевого трафика в C # - PullRequest
1 голос
/ 09 марта 2012

Я использую Selenium и хочу перехватить все пакеты cookie, отправленные во время запроса страницы.Я сталкивался с ядром Fiddler и несколькими другими производными, но не могу найти какие-либо рабочие примеры.Работали над этим без прогресса в течение почти 10 часов, поэтому любые предложения будут высоко оценены.

1 Ответ

4 голосов
/ 09 марта 2012

Прокси BrowserMob (цитата):

Бесплатная утилита, помогающая веб-разработчикам наблюдать и управлять сетью. трафик от их веб-приложений

Я написал совместную библиотеку .NET, чтобы упростить работу с этим прокси. Код на GitHub здесь , и я немного подробнее об этом написал, с примером кода здесь . Так что с этими двумя компонентами и Selenium, надеюсь, вы сможете получить необходимую информацию.

Информация предоставляется в формате HAR, для которого вы можете увидеть подробности здесь . По сути, для запроса / ответа вы можете получить всю информацию о том, что происходит в сети, куки, тайминги и т. Д.

Надеюсь, это то, что вы ищете.

например. Базовый пример для перебора каждого файла cookie запроса для каждой записи журнала HAR:

foreach(var entry in harData.Log.Entries)
{
    foreach (var cookie in entry.Request.Cookies)
    {
        string name = cookie.Name;
        string value = cookie.Value;

        // Do something exciting....or just write the values to Console :)
        Console.Write("Cookie name={0}, value={1}, name, value);
    }
}
...