/// <summary>
 /// 检测验证码是否正确
 /// </summary>
 /// <param name="vcCookie"></param>
 /// <param name="vc"></param>
 /// <returns></returns>
 public bool CheckVc(CookieContainer vcCookie, string vc)
 {
     HttpClient client = new HttpClient(vcCookie);
     string url = "https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn";
     string data = "randCode={0}&rand=sjrand";
     data = string.Format(data, vc);
     var result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/login/init");
     var ok = HtmlHelper.GetContent(result, "\"data\":", ",").Replace("\"", "") == "Y";
     return ok;
 }
示例#2
0
 public void CheckUser()
 {
     HttpClient client = new HttpClient(Cookies);
     if (StaticValues.Proxy != "")
     {
         client.Proxy = new WebProxy(StaticValues.Proxy);
     }
     string url = "https://kyfw.12306.cn/otn/login/checkUser";
     string result = client.Post(url, "_json_att=", "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/leftTicket/init");
 }
示例#3
0
 public static bool Login(string userName,string pwd,string vc,ref string msg,ref CookieContainer cookies)
 {
     HttpClient client=new HttpClient(cookies);
     if (StaticValues.Proxy != "")
     {
         client.Proxy = new WebProxy(StaticValues.Proxy);
     }
     string url = "https://kyfw.12306.cn/otn/login/loginAysnSuggest";
     string data = "loginUserDTO.user_name=" + userName + "&userDTO.password="******"&randCode=" + vc; ;
     string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/login/init");
     result=result.Replace("\"","");
     bool flag = result.Contains("loginCheck:Y");
     if (!flag)
     {
         msg = HtmlHelper.GetContent(result, "messages:", "],").Replace("[","").Replace("]","");
     }
     return flag;
 }
 /// <summary>
 /// 检测验证码是否正确
 /// </summary>
 /// <param name="vcCookie"></param>
 /// <param name="vc"></param>
 /// <returns></returns>
 public static bool CheckVc(CookieContainer vcCookie, string vc,string token)
 {
     HttpClient client = new HttpClient(vcCookie);
     if (StaticValues.Proxy != "")
     {
         client.Proxy = new WebProxy(StaticValues.Proxy);
     }
     string url = "https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn";
     string data = "randCode=" + vc;
     if (token != "")
     {
         data = data + "&rand=randp&REPEAT_SUBMIT_TOKEN=" + token;
     }
     else
     {
         data=data+"&rand=sjrand";
     }
     var result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/login/init");
     var ok = HtmlHelper.GetContent(result, "\"data\":", ",").Replace("\"", "") == "Y";
     return ok;
 }
示例#5
0
 public bool ConfirmSingleForQueue(TicketInfo ti,string vc,List<PassengerInfo> list,ref string msg)
 {
     try
     {
         msg = string.Empty;
         HttpClient client = new HttpClient(Cookies);
         if (StaticValues.Proxy != "")
         {
             client.Proxy = new WebProxy(StaticValues.Proxy);
         }
         string passengerTicketStr = "";
         string oldpassengerTicketStr = "";
         foreach (PassengerInfo pi in list)
         {
             var ap = pi.SeatType + ",0," + pi.TicketType + "," + pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + (pi.Passenger.phone_no == null ? "" : pi.Passenger.phone_no) + "," + "N";
             passengerTicketStr += ap + "_";
             var ao = pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + pi.Passenger.passenger_type;
             oldpassengerTicketStr += ao + "_";
         }
         string token = ti.Token;
         string checkKey = ti.CheckKey;
         string leftTicket = ti.LeftTicketInfo.ypInfoDetail;
         passengerTicketStr = HttpUtility.UrlEncode(passengerTicketStr);
         oldpassengerTicketStr = HttpUtility.UrlEncode(oldpassengerTicketStr);
         string trainLocation = ti.TrainLocation;
         string purpose_codes = "00";
         string data = "passengerTicketStr={0}&oldPassengerStr={1}&randCode={2}&purpose_codes={3}&key_check_isChange={4}&leftTicketStr={5}&train_location={6}&_json_att=&REPEAT_SUBMIT_TOKEN={7}";
         data = string.Format(data, passengerTicketStr, oldpassengerTicketStr, vc, purpose_codes, checkKey, leftTicket, trainLocation, token);
         string url = "https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue";
         string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/confirmPassenger/initDc");
         bool flag = result.Contains("submitStatus:true");
         if (!flag)
         {
             msg = HtmlHelper.GetContent(result, "errMsg:", ",");
         }
         return flag;
     }
     catch
     {
         return false;
     }
 }
示例#6
0
 public CountInfo GetQueueCount(TicketInfo ti,string seatType)
 {
     try
     {
         HttpClient client = new HttpClient(Cookies);
         if (StaticValues.Proxy != "")
         {
             client.Proxy = new WebProxy(StaticValues.Proxy);
         }
         string trainDate = ti.LeftTicketInfo.train_date + " 00:00:00"; ;
         trainDate = Convert.ToDateTime(trainDate).ToString("ddd MMM dd yyyy HH:mm:ss 'GMT'zzz ", System.Globalization.CultureInfo.GetCultureInfo("en-US"));
         trainDate = trainDate.Replace("08:00", "0800") + "(中国标准时间)";
         string trainNo = ti.LeftTicketInfo.train_no;
         string trainCode = ti.LeftTicketInfo.station_train_code;
         string leftTicket = ti.LeftTicketInfo.ypInfoDetail;
         string fromStationTelecode = ti.LeftTicketInfo.from_station;
         string toStationTelecode = ti.LeftTicketInfo.to_station;
         string purpose_codes = "00";
         string token = ti.Token;
         string data = "train_date={0}&train_no={1}&stationTrainCode={2}&seatType={3}&fromStationTelecode={4}&toStationTelecode={5}&leftTicket={6}&purpose_codes={7}&_json_att=&REPEAT_SUBMIT_TOKEN={8}";
         object[] objs = new object[] { HttpUtility.UrlEncode(trainDate), trainNo, trainCode, seatType, fromStationTelecode, toStationTelecode, leftTicket, purpose_codes, token };
         data = string.Format(data, objs);
         string url = "https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount";
         string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/confirmPassenger/initDc");
         result = result.Replace("\"", "");
         string count = HtmlHelper.GetContent(result, "count:", ",");
         string ticket = HtmlHelper.GetContent(result, "ticket:", ",");
         string op_2 = HtmlHelper.GetContent(result, "op_2:", ",");
         string countT = HtmlHelper.GetContent(result, "countT:", ",");
         string op_1 = HtmlHelper.GetContent(result, "op_1:", "}");
         string ticketCnt = JsFuncitonHelper.GetCnt(ticket, seatType);
         CountInfo ci = new CountInfo();
         ci.count = count;
         ci.countT = countT;
         ci.op_1 = op_1;
         ci.op_2 = op_2;
         ci.ticket = ticket;
         ci.ticketCnt = ticketCnt;
         return ci;
     }
     catch
     {
         return null;
     }
 }
示例#7
0
 public bool CheckOrderInfo(string token, string vc, List<PassengerInfo> list,ref string msg)
 {
     try
     {
         HttpClient client = new HttpClient(Cookies);
         if (StaticValues.Proxy != "")
         {
             client.Proxy = new WebProxy(StaticValues.Proxy);
         }
         string passengerTicketStr = "";
         string oldpassengerTicketStr = "";
         foreach (PassengerInfo pi in list)
         {
             var ap = pi.SeatType + ",0," + pi.TicketType + "," + pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + (pi.Passenger.phone_no == null ? "" : pi.Passenger.phone_no) + "," + "N";
             passengerTicketStr += ap + "_";
             var ao = pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + pi.Passenger.passenger_type;
             oldpassengerTicketStr += ao + "_";
         }
         passengerTicketStr = HttpUtility.UrlEncode(passengerTicketStr);
         oldpassengerTicketStr = HttpUtility.UrlEncode(oldpassengerTicketStr);
         string data = "cancel_flag=2&bed_level_order_num=000000000000000000000000000000&passengerTicketStr={0}&oldPassengerStr={1}&tour_flag=dc&randCode={2}&_json_att=&REPEAT_SUBMIT_TOKEN={3}";
         string url = "https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo";
         data = string.Format(data, passengerTicketStr, oldpassengerTicketStr, vc, token);
         string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/confirmPassenger/initDc");
         result = result.Replace("\"", "");
         bool flag = result.Contains("submitStatus:true");
         if (!flag)
         {
             msg = HtmlHelper.GetContent(result, "errMsg:", ",");
         }
         return flag;
     }
     catch
     {
         return false;
     }
 }