public byte[] MakeSendData(UserInfo user) { string username = user.username; string password = user.password; string realm = "BudNet-Prod"; string postData = "username="******"&password="******"&realm=" + realm; ASCIIEncoding ascii = new ASCIIEncoding(); byte[] data = ascii.GetBytes(postData); return data; }
public static void WriteLog(string logMessage, UserInfo user) { var sw = new StreamWriter("log.txt", true); var log = DateTime.Today.ToShortDateString() + "\r\n"; log += user.company + " " + logMessage + "\r\n"; log += "CustomerID: \t" + user.customerID + "\r\n"; log += "username: \t" + user.username + "\r\n"; log += "oldpassword: \t" + user.password + "\r\n"; log += "\r\n"; sw.Write(log); sw.Close(); }
public static void ReadFileToUsers(List<UserInfo> toUsers) { var sr = new StreamReader("bud.txt"); while (!sr.EndOfStream) { var user = new UserInfo(); user.customerID = sr.ReadLine().Trim(); user.company = sr.ReadLine(); user.username = sr.ReadLine().Trim(); user.password = sr.ReadLine().Trim(); user.locations = new List<location>(); while (true) { var location = new location(); location.name = sr.ReadLine(); if (location.name == "" || location.name == null) break; location.number = sr.ReadLine(); user.locations.Add(location); } toUsers.Add(user); } sr.Close(); }
public BudNetRequest(UserInfo user) { this.user = user; }
public bool RequestToChangePassword(UserInfo user, string newPassword) { byte[] data = MakeSendData(user); SetPost(data); var respone = request.GetResponse(); if (respone.ResponseUri.ToString().ToLower().Contains("sso=p+login.aspx")) { var sr = new StreamReader(respone.GetResponseStream()); var html = sr.ReadToEnd(); sr.Close(); string viewstate = Program.getInputValueByName("__VIEWSTATE", html); string eventvalidation = Program.getInputValueByName("__EVENTVALIDATION", html); viewstate = System.Web.HttpUtility.UrlEncode(viewstate); eventvalidation = System.Web.HttpUtility.UrlEncode(eventvalidation); if (html.Contains("Your password has expired!") || html.Contains("Your password expires in 2 days!") || html.Contains("Your password expires in 3 days!")) { Program.WriteLog("'s password has expired and will be set a new as '" + newPassword + "'.", user); var cookie = request.CookieContainer.GetCookies(new Uri("https://www.budnet.com/")); string sendData = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=" + viewstate + "&__EVENTVALIDATION=" + eventvalidation + "&txtCurrentPassword="******"&txtNewPassword="******"&txtConfirmNewPassword="******"&cmdSubmit=Submit"; var ascii = new ASCIIEncoding(); data = ascii.GetBytes(sendData); try { SetPost(data, "https://www.budnet.com/DSLogin/,DanaInfo=.a184C65F999JAF,SSO=P+ChangePassword.aspx", cookie); var response = (HttpWebResponse)request.GetResponse(); respone.Close(); request = null; var newUser = user; newUser.password = newPassword; Program.waitForConfirmed.Add(newUser); return true;//true or false is meaningless } catch { Program.WriteLog(" sending new password has some errors,but not sure what it's. ", user); } return false; } else Program.WriteLog(" should be expired,but re-inspect wrongly.", user); } else { Program.WriteLog(" should be expired,but re-inspect wrongly.", user); } respone.Close(); return false; }