/** * */ public void ParserTest() { TextReader tr = new StreamReader(@"K:\CPP\C#\magicanime_recordplugin_sample_071205\schedulesBySearch.action", UTF_8); string str = tr.ReadToEnd(); foreach (TVOukokuRecord p in TVOukokuParser.Parse(str)) { System.Console.Out.WriteLine(p); } }
/*--------------------------------------------------* * 個々の番組情報を取得しちゃうよ関連 *--------------------------------------------------*/ private List <TVOukokuRecord> GetEntryList(string url, bool outputHtmlFile) { List <TVOukokuRecord> ret = new List <TVOukokuRecord>(); // WebRequest req = CreateWebRequest(url); CookieContainer cookieCont = new CookieContainer(); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.CookieContainer = cookieCont; req.AllowAutoRedirect = false; using (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) { if ((int)res.StatusCode != 308) { return(null); } string location = res.Headers[HttpResponseHeader.Location]; url = location; } req = (HttpWebRequest)WebRequest.Create(url); req.CookieContainer = cookieCont; do // ホントはココで全ページ回るべき → まぁでも面倒だからいいよね…どうせ1ページだけだろうし…(ぉ { string str = ReadAllString(req, UTF_8); if (outputHtmlFile) { OutputHtml(str); } ret.AddRange(TVOukokuParser.Parse(str)); } while (false); return(ret); }