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