using System.Collections.Generic;
using System.Collections.Specialized;
public string name {get;set;}
public string id {get;set;}
public string no {get;set;}
public static Dictionary<string,string> dicResult = new Dictionary<string,string>() {
{"少年牛頓:183", "Super" },{"Top945:396", "Super" },{"Top945:397", "Super" },{"未來少年:109", "Super" },{"科學少年:60", "Regan" }
,{"少年牛頓:184", "Regan" },{"Top945:398", "Regan" }, {"Top945:399", "Regan" }, {"科學少年:61", "Roger" }, {"未來少年:110", "Roger"}
,{"少年牛頓:185", "Super"},{"Top945:400", "Regan"},{"未來少年:111","Roger"},{"科學少年:62","Regan"},{"Top945:401","Super"}
,{"少年牛頓:186", "Regan"},{"Top945:402", "Claire"},{"科學少年:63", "Roger"},{"Top945:403", "Claire"},{"未來少年:112", "Super"}
,{"少年牛頓:187", "Regan"},{"Top945:404", "Super"},{"未來少年:113","Super"},{"Top945:405","Roger"},{"科學少年:64","Roger"}
,{"少年牛頓:188","Super"},{"Top945:406","Regan"},{"Top945:407","Super"},{"未來少年:114","Super"},{"科學少年:65","Roger"}
,{"少年牛頓:189","Roger"},{"Top945:408","Super"},{"Top945:409","Super"},{"未來少年:115","Super"},{"少年牛頓:190","Super"}
,{"Top945:410","Regan"},{"未來少年:116","Regan"},{"Top945:411","Super"},{"少年牛頓:191","Super"},{"Top945:412","Roger"}
,{"Top945:413","Roger"},{"未來少年:117","Super"},{"少年牛頓:192","Super"},{"Top945:414","Super"},{"Top945:415","Regan"}
,{"少年牛頓:193","Super"},{"未來少年:118","Roger"},{"Top945:416","Roger"},{"未來少年:119","Claire"},{"少年牛頓:194","Super"}
,{"Top945:418","Regan"},{"Top945:419","Roger"},{"未來少年:120","Roger"},{"少年牛頓:195","Regan"},{"Top945:420","Regan"}
,{"未來少年:121","Regan"},{"少年牛頓:196","Daphne"},{"Top945:421","Super"},{"Top945:422","Super"},{"Top945:423","Claire"}
,{"未來少年:122","Regan"},{"Top945:424","Regan"},{"少年牛頓:197","Regan"},{"Top945:425","Regan"},{"未來少年:123","Roger"}
,{"少年牛頓:198","Super"},{"Top945:426","Super"},{"Top945:427","Claire"},{"少年牛頓:199","Regan"}
public static void Main()
Check(new Book(){ name="Top945", id="273902", no="428" });
Check(new Book(){ name="科學少年", id="300120", no="66" });
Check(new Book(){ name="少年牛頓", id="273912", no="200" });
Check(new Book(){ name="未來少年", id="274477", no="124" });
Console.WriteLine("Top945:417 by pass"+Environment.NewLine);
Console.WriteLine("Done @"+DateTime.Now.AddHours(8).ToString("yyyy/MM/dd HH:mm:ss"));
private static void Check(Book book){
string url = "https://webpac.hcml.gov.tw/modules/WPSJReleaseListAjaxPage.do";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded";
NameValueCollection postParams = HttpUtility.ParseQueryString(string.Empty);
postParams.Add("id", book.id);
postParams.Add("YNum", book.no);
byte[] byteArray = Encoding.UTF8.GetBytes(postParams.ToString());
using (Stream reqStream = request.GetRequestStream())
reqStream.Write(byteArray, 0, byteArray.Length);
using (WebResponse response = request.GetResponse())
using (StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8))
responseStr = sr.ReadToEnd();
if(responseStr.IndexOf("value=\"預約\"")>0) {
Console.WriteLine(string.Format("{0}:{1} is orderable! url=>https://webpac.hcml.gov.tw/bookDetail.jsp?id={2}", book.name, book.no, book.id));