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-массив кук в том же формате.