AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.10" />

 MemoryCookieProvider

Represents the default cookie service. This class can be inherited.
using System; using System.Globalization; using System.Net; namespace AngleSharp.Services.Default { public class MemoryCookieProvider : ICookieProvider { private readonly CookieContainer _container; public CookieContainer Container => _container; public MemoryCookieProvider() { _container = new CookieContainer(); } public string GetCookie(string origin) { return _container.GetCookieHeader(new Uri(origin)); } public void SetCookie(string origin, string value) { string cookieHeader = Sanatize(value); _container.SetCookies(new Uri(origin), cookieHeader); } private static string Sanatize(string cookie) { string text = "expires="; int num4; for (int num = 0; num < cookie.Length; num = num4) { int num2 = cookie.IndexOf(text, num, StringComparison.OrdinalIgnoreCase); if (num2 == -1) break; int num3 = num2 + text.Length; num4 = cookie.IndexOfAny(new char[2] { ';', ',' }, num3 + 4); if (num4 == -1) num4 = cookie.Length; string text2 = cookie.Substring(0, num3); string text3 = cookie.Substring(num3, num4 - num3); string text4 = cookie.Substring(num4); DateTime result = DateTime.Now; if (DateTime.TryParse(text3.Replace("UTC", "GMT"), out result)) { string text5 = result.ToString("ddd, dd MMM yyyy HH:mm:ss", CultureInfo.InvariantCulture); cookie = string.Format("{0}{1}{2}", new object[3] { text2, text5, text4 }); } } return cookie; } } }