Esempio n. 1
0
        /// <summary>
        /// クッキーから、ニコニコのユーザーIDを取得します。
        /// </summary>
        public static int GetUserIdFromCookie(CookieContainer cc)
        {
            if (cc == null)
            {
                return(-1);
            }

            var cookieCollection = cc.GetCookies(
                new Uri(NicoString.GetLiveTopUrl()));

            if (cookieCollection == null)
            {
                return(-1);
            }

            var cookie = cookieCollection["user_session"];

            if (cookie == null || string.IsNullOrEmpty(cookie.Value))
            {
                return(-1);
            }

            var m = Regex.Match(
                cookie.Value,
                "^user_session_([0-9]+)_");

            if (!m.Success)
            {
                return(-1);
            }

            return(int.Parse(m.Groups[1].Value));
        }
Esempio n. 2
0
        /// <summary>
        /// 与えられたユーザーのアカウント情報を取得します。
        /// </summary>
        public static AccountInfo Create(int id, CookieContainer cc)
        {
            var url  = NicoString.GetUserInfoUrl(id);
            var text = WebUtil.RequestHttpText(url, null, cc, Encoding.UTF8);

            if (string.IsNullOrEmpty(text))
            {
                throw new NicoException(
                          "ユーザーページの取得に失敗しました。");
            }

            return(Create(id, text));
        }