/// <summary> /// 動画番号が含まれる文字列から情報を作成します。 /// </summary> public static VideoData CreateFromPage(string videoStr, CookieContainer cc) { if (string.IsNullOrEmpty(videoStr)) { throw new ArgumentNullException("videoStr"); } if (cc == null) { throw new ArgumentNullException("cc"); } var videoId = VideoUtil.GetVideoId(videoStr); if (string.IsNullOrEmpty(videoId)) { throw new NicoVideoException( $"{videoStr}: 不正な動画IDです。"); } // urlを取得します。 var responseData = WebUtil.RequestHttp( NicoString.GetVideoUrl(videoId), null, cc); // 失敗;; エラー時はレスポンスが空になります。 if (responseData == null) { throw new NicoVideoException( "放送ページの取得に失敗しました。", videoId); } var text = Encoding.UTF8.GetString(responseData); return(CreateFromPageHtml(text)); }