CdpHar

class · пространство имён z3n7 · исходник Traffic/CdpHar.cs

public sealed class CdpHar : IDisposable

Запись HAR, которая общается с браузером инстанса через его собственный DevTools endpoint (браузер пишет порт в <user-data-dir>\DevToolsActivePort). Не зависит от Tab.GetTraffic. Записывает только то, что происходит после Start().

Свойства

Count

public int Count { get; }

исходник

Число записанных записей.

DevToolsPort

public int DevToolsPort { get; }

исходник

Порт DevTools браузера.

IsAlive

public bool IsAlive { get; }

исходник

Открыто ли соединение с DevTools.

LastError

public string LastError { get; }

исходник

Последняя ошибка фонового цикла приёма или null.

Методы

Clear

public void Clear()

исходник

Забывает все записанные записи.

Connect

public static CdpHar Connect(int devToolsPort)

исходник

Запись, привязанная к явно заданному порту DevTools (не регистрируется для инстанса).

Dispose

public void Dispose()

исходник

Закрывает соединение с DevTools.

For

public static CdpHar For(Instance instance)

исходник

Работающая запись для этого инстанса или null.

ResolveDevToolsPort

public static int ResolveDevToolsPort(Instance instance)

исходник

Находит порт DevTools браузера инстанса по файлам DevToolsActivePort: в папке профиля инстанса, в папке браузера ProjectMaker и в Trash\Profiles\* ZennoPoster. Выигрывает собственный порт профиля, если он живой; иначе единственный живой кандидат; иначе тот, у которого URL страницы равен ActiveTab.URL.

Возвращает: Порт. Бросает InvalidOperationException, если живого браузера нет или подходящих несколько.

Save

public int Save(string path, string urlRegex = null, int waitBodiesMs = 3000)

исходник

Записывает записанный трафик в файл HAR 1.2 (недостающие папки создаются, существующий файл заменяется).

Параметр Описание
path Целевой файл.
urlRegex Регулярное выражение без учёта регистра, которому должен соответствовать URL; null оставляет всё.
waitBodiesMs Сколько ждать тела ответов, которые ещё загружаются.

Возвращает: Число записанных записей.

Start

public static CdpHar Start(Instance instance)

исходник

Запускает запись для этого инстанса (или возвращает уже работающую).

Stop

public static void Stop(Instance instance)

исходник

Останавливает и забывает запись этого инстанса, если она есть.

Поля

CommandTimeoutMs

public int CommandTimeoutMs;

исходник

Таймаут на подключение и на каждую команду DevTools, мс.

MaxBodyBytes

public long MaxBodyBytes;

исходник

Тела ответов больше этого размера (в закодированном виде) не загружаются.

MaxEntries

public int MaxEntries;

исходник

Сколько записей хранить; сверх этого самые старые отбрасываются.