public BiliCookie(ILogger <BiliCookie> logger, IOptionsMonitor <BiliBiliCookieOptions> optionsMonitor, IConfiguration configuration) : base(optionsMonitor.CurrentValue.CookieStr) { _logger = logger; _configuration = configuration; _options = optionsMonitor.CurrentValue; CookieStr = _options.CookieStr ?? ""; UserId = _options.UserId ?? ""; BiliJct = _options.BiliJct ?? ""; SessData = _options.SessData ?? ""; OtherCookies = _options.OtherCookies ?? ""; if (_options.DedeUserID.IsNotNullOrEmpty()) { UserId = _options.DedeUserID; } if (_options.Bili_jct.IsNotNullOrEmpty()) { BiliJct = _options.Bili_jct; } if (CookieStr.IsNotNullOrEmpty()) { foreach (var str in CookieStr.Split(';')) { if (str.IsNullOrEmpty()) { continue; } var list = str.Split('=').ToList(); if (list.Count >= 2) { CookieDictionary[list[0].Trim()] = list[1].Trim(); } } } if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(UserId)), out string userId)) { UserId = userId; } if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(BiliJct)), out string jct)) { BiliJct = jct; } if (CookieDictionary.TryGetValue(GetPropertyDescription(nameof(SessData)), out string sess)) { SessData = sess; } Check(); }
public CookieInfo(string cookieStr) { CookieStr = cookieStr ?? ""; CookieStrList = CookieStr.Split(";") .Select(x => x.Trim()) .Where(x => x.IsNotNullOrEmpty()) .ToList(); foreach (var item in CookieStrList) { var list = item.Split('='); CookieDictionary.TryAdd(list[0].Trim(), list[1].Trim()); } }
public CookieInfo(string cookieStr) { CookieStr = cookieStr ?? ""; CookieItemList = CookieStr.Split(";") .Select(x => x.Trim()) .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList(); foreach (var item in CookieItemList) { var list = item.Split('='); if (list.Length >= 2) { CookieItemDictionary.TryAdd(list[0].Trim(), list[1].Trim()); } } }