public string GetContent(LiveJournalTarget target, ILJClientData data)
        {
            Uri address = target.WithStyleMine(true)
                          .WithCutExpand()
                          .GetUri();

            log.Info("Downloading " + address + "...");

            CookieContainer cookieContainer = new CookieContainer();

            using (HttpClientHandler handler = new HttpClientHandler {
                CookieContainer = cookieContainer
            })
                using (HttpClient client = new HttpClient(handler)
                {
                    BaseAddress = address
                })
                {
                    LJClientCookieData cookieData = data as LJClientCookieData;
                    if (cookieData != null)
                    {
                        Dictionary <string, string> cookies = cookieData.GetCookiesToUse();
                        foreach (KeyValuePair <string, string> cookie in cookies)
                        {
                            log.DebugFormat("Using cookie {0}:{1}.", cookie.Key, cookie.Value);
                            cookieContainer.Add(address, new Cookie(cookie.Key, cookie.Value));
                        }
                    }

                    string result = DownloadString(client, address);
                    return(result);
                }
        }
        public static LJClientCookieData FromString(string s)
        {
            // _ga=GA1.2.526309289.1415025641; ljuniq=4evFhaVhvkzzzzzzzzzzzzzzz5641%3Apgstats0; xtvrn=$528851$; xtan=-;
            // xtant=1; ljident=2869171628.20480.0000; _ym_visorc_27737346=b; welcome_ljvideo=1;
            // ljloggedin=v2:u1546277:s354:t1436793777:gb0fdeff6zzzzzzzzzzzzzzzzzz6bae87ddbf0627ec;
            // BMLschemepref=dystopia; langpref=en_GB/1436793777; ljsession=v1:u1546277:s354:t1436792400:g95c3zzzzzzzzzzzzz13820f24b7699f357//1;
            // ljdomsess.galkovsky=v1:u1546277:s354:t1436792400:gzzzzzzzzzzzz6b7bff785d2f5dfe4617dfae//1

            string cookieStringTrimmed = s.Trim()
                                         .Trim('"')
                                         .Trim();
            IEnumerable <string[]> cookiePairs = cookieStringTrimmed.Split(';')
                                                 .Select(
                z => z.Trim()
                .Split('=')
                );

            LJClientCookieData ret = new LJClientCookieData();

            foreach (string[] pair in cookiePairs)
            {
                string key   = pair[0];
                string value = pair[1];

                ret._cookies[key] = value;
            }

            return(ret);
        }
 /// <summary>Creates a cookie container.</summary>
 public ILJClientData CreateDataObject(string input)
 {
     return(LJClientCookieData.FromString(input));
 }