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)); }