static async Task <string> GetUserName(CookieImportResult importObj) { try { var url = new Uri("http://www.nicovideo.jp/my/channel"); var container = new CookieContainer(); var client = new HttpClient(new HttpClientHandler() { CookieContainer = container }); if (importObj.AddTo(container) != CookieImportState.Success) { return(null); } var res = await client.GetStringAsync(url); if (string.IsNullOrEmpty(res)) { return(null); } var namem = Regex.Match(res, "nickname = \"([^<>]+)\";", RegexOptions.Singleline); if (namem.Success) { return(namem.Groups[1].Value); } else { return(null); } } catch (System.Net.Http.HttpRequestException) { return(null); } }
async private Task <CookieContainer> getBrowserCookie(bool isSub) { var si = SourceInfoSerialize.load(isSub); // var importer = await SunokoLibrary.Application.CookieGetters.Default.GetInstanceAsync(si, false); ICookieImporter importer = await SunokoLibrary.Application.CookieGetters.Default.GetInstanceAsync(si, false).ConfigureAwait(false); // var importers = new SunokoLibrary.Application.CookieGetters(true, null); // var importera = (await SunokoLibrary.Application.CookieGetters.Browsers.IEProtected.GetCookiesAsync(TargetUrl)); // foreach (var rr in importer.Cookies) // util.debugWriteLine(rr); //importer = await importers.GetInstanceAsync(si, true); if (importer == null) { return(null); } CookieImportResult result = await importer.GetCookiesAsync(TargetUrl).ConfigureAwait(false); if (result.Status != CookieImportState.Success) { return(null); } //if (result.Cookies["user_session"] == null) return null; //var cookie = result.Cookies["user_session"].Value; //util.debugWriteLine("usersession " + cookie); var cc = new CookieContainer(); cc.PerDomainCapacity = 200; foreach (Cookie _c in result.Cookies) { try { if (_c.Name == "age_auth" || _c.Name.IndexOf("user_session") > -1) { cc.Add(new Cookie(_c.Name, _c.Value, "/", ".nicovideo.jp")); } } catch (Exception e) { util.debugWriteLine("cookie add browser " + _c.ToString() + e.Message + e.Source + e.StackTrace + e.TargetSite); } } // result.AddTo(cc); var c = cc.GetCookies(TargetUrl)["user_session"]; var secureC = cc.GetCookies(TargetUrl)["user_session_secure"]; //cc = setUserSession(cc, c, secureC); return(cc); }