/// <summary> /// 指定のブラウザのクッキーを使って、ログインします。 /// </summary> public static CookieContainer LoginWithBrowser(BrowserType browser, bool validate) { #if !RGN_NOT_USE_COOKIEGETTERSHARP try { var enumType = typeof(Ragnarok.Net.CookieGetter.BrowserType); var browserType = (Ragnarok.Net.CookieGetter.BrowserType)browser; if (!Enum.IsDefined(enumType, browserType)) { throw new ArgumentException( "ブラウザの種類が正しくありません。", "browser"); } var cookieGetter = CookieGetter.CreateInstance(browserType); if (cookieGetter == null) { Log.Error( "クッキーの取得オブジェクトの作成に失敗しました。"); return(null); } // 与えられたブラウザのログインクッキーを取得します。 var cookie = cookieGetter.GetCookie( new Uri(NicoString.GetLiveTopUrl()), "user_session"); if (cookie == null) { return(null); } var cc = new CookieContainer(); cc.Add(cookie); // 本当にこのクッキーでログインできるか確認します。 if (validate) { var account = CookieValidator.Validate(cc); if (account == null) { return(null); } } return(cc); } catch (Exception) { /*Log.ErrorMessage(ex, * "クッキーの取得に失敗しました。");*/ } #endif return(null); }