отлов трафика + сбор всех кук в db

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Ку фомурчяни
Появился вопрос!
Как получить все данные:
107371

В базу данных ну грубо говоря есть 30 кук, нужно каждую построчно записать в базу данных (сам запрос к дб я сам могу построить) важно получить все эти данные по очерёдно, можно конечно заколхозить и взять все разам в список а потом построчно в базу перенести, но лучше использовать счетчик который постоянно увеличивается на 1 и получает куку по строчно

И также записать весь тарафик тем-же методом:
107373

107374

107375

107376


То есть все эти данные будут писаться в одну строку (на 1 запрос)
Там где есть входные данные одного типа:
Заголовок Значение Дополнительно
Использовать {separator}
Заголовок{separator}Значение{separator}Дополнительно

И так каждый запрос записать в базу данных
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
И так каждый запрос записать в базу данных
Уточняю, если будет 1000 запросов они все должны попасть в базу дынных

И также с куками, если есть 50 значит все 50 прописываются в базу данных
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Ну или где располагается папка трафика? Данные в трафик не с воздуха же берутся
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Ку фомурчяни
Появился вопрос!
Как получить все данные:
Посмотреть вложение 107371
В базу данных ну грубо говоря есть 30 кук, нужно каждую построчно записать в базу данных (сам запрос к дб я сам могу построить) важно получить все эти данные по очерёдно, можно конечно заколхозить и взять все разам в список а потом построчно в базу перенести, но лучше использовать счетчик который постоянно увеличивается на 1 и получает куку по строчно

И также записать весь тарафик тем-же методом:
Посмотреть вложение 107373
Посмотреть вложение 107374
Посмотреть вложение 107375
Посмотреть вложение 107376

То есть все эти данные будут писаться в одну строку (на 1 запрос)
Там где есть входные данные одного типа:
Заголовок Значение Дополнительно
Использовать {separator}
Заголовок{separator}Значение{separator}Дополнительно

И так каждый запрос записать в базу данных
По-хорошему это две разные темы.

1. Чтобы получить куки:
a. Ответ на форуме: Как получить куки
Получить куки определенного сервиса
C#:
return instance.GetCookie("имясайта.com", true);
b. Ответ на форуме: Как получить куки профиля без запуска инстанса?
Получить сохранённые куки в профиле
C#:
project.Profile.CookieContainer

p.s. Куки иногда нужно конвертировать, если будут использоваться где-то ещё.

2. Получить все запросы:
Пример сбора запросов с сайта для дальнейшей обработки:
Tab tab = instance.ActiveTab;
instance.UseTrafficMonitoring = true; // начинаем мониторинг трафика

/*Пример действия — переход на страницу*/
tab.Navigate("https://link.com"); // переходим на сайт
if (tab.IsBusy)
    tab.WaitDownloading(); // если страница не прогрузилась ждем

int requestTimeout = 2; // после скольких секунд перестать ждать ответа от запроса
int stopRequestCount = 1; // меньше какого количества запросов от сайта считать что нужно остановиться
/*бывает так, что сайт отправляет каждую секунду запрос для отслеживания действий на сайте, в таком случае такие запросы нужно блокировать отдельно*/

List<TrafficItem> trafficItems = new List<TrafficItem>();
DateTime startTime = DateTime.Now;
for (int i = 0; i < 30; i++)
{
    List<TrafficItem> tempItems = tab.GetTraffic().ToList();
    if (tempItems.Count < stopRequestCount && (DateTime.Now - startTime).Seconds > requestTimeout)
        break;

    trafficItems.AddRange(tempItems);
    Thread.Sleep(1000);
}

/*Вместо вывода будет запись в базу данных из списка trafficItems*/
foreach (TrafficItem item in trafficItems)
{
    project.SendInfoToLog($"---\r\n" +
                          $"{item.Url}\r\n" +
                          $"{item.Time}\r\n" +
                          $"{item.RequestHeaders}\r\n" +
                          $"{item.RequestBody}\r\n" +
                          $"---");
}
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)