CookieCollector

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

public class CookieCollector

Собирает куки, обходя сайты по обычному HTTP (не браузером), начиная с имеющегося набора кук, и возвращает их в JSON в формате браузерных расширений.

Свойства

Accept

public string Accept { get; set; }

исходник

Заголовок Accept запросов.

AcceptLanguage

public string AcceptLanguage { get; set; }

исходник

Заголовок Accept-Language запросов.

AllowRedirects

public bool AllowRedirects { get; set; }

исходник

Следовать редиректам (до 10).

Log

public Action<string> Log { get; set; }

исходник

Получает COOKIES={count} в конце Run; null — ничего.

MaxCookieAgeDays

public int MaxCookieAgeDays { get; set; }

исходник

Верхняя граница выдуманного возраста новых кук, в днях.

MaxLastAccessAgeDays

public int MaxLastAccessAgeDays { get; set; }

исходник

Выдуманные даты последнего обращения у новых кук попадают в столько дней до текущего момента.

MinCookieAgeDays

public int MinCookieAgeDays { get; set; }

исходник

Нижняя граница выдуманного возраста новых кук, в днях.

TimeoutSeconds

public int TimeoutSeconds { get; set; }

исходник

Таймаут каждого запроса, секунды.

UserAgent

public string UserAgent { get; set; }

исходник

Заголовок User-Agent запросов.

Методы

Run

public string Run(IEnumerable<string> services, string cookiesJson, string proxy = null)

исходник

Загружает cookiesJson, отправляет GET на каждый сервис и сохраняет все куки затронутых доменов. Сервис, который не ответил вовремя или упал, пропускается. Куки без creationDate получают случайные даты создания и последнего обращения в пределах заданных возрастов.

Параметр Описание
services URL или имена хостов; если нет https://, он добавляется.
cookiesJson Начальные куки: JSON-массив с name, value, domain, path, secure, httpOnly, expirationDate и необязательными creationDate/lastAccessDate.
proxy [scheme://][user:pass@]host:port; пусто — без прокси.

Возвращает: JSON-массив кук в том же формате.