// Our checking loop. public static void check(checkConfig.checkConf Config) { try { foreach (String name in frmMain.users) { if ((Boolean)WebRequest_Wrapper.Request(Config, name)) // If the name is available. { if (frmMain.autoExport) { Exporter.logAvailable(name, Config.Site); } else { frmMain.availUsers.Add(name); } } frmMain.increment(); // Moves our ProgressBar. } frmMain.fillBar(); // Fills the ProgressBar. frmMain.logEvent("Done!"); } catch (Exception ex) { eventLogger.logEvent(String.Format("{0} - {1} [{2}] | {3}", ex.Message, "Checking Module", ex.StackTrace, ex.TargetSite)); } }
// Starts a thread for the Checker. public static void doCheck(checkConfig.checkConf conf) { System.Threading.Thread thdCheck = new System.Threading.Thread(() => check(conf)); thdCheck.IsBackground = true; thdCheck.Start(); }
// Modified version of my WebRequest Wrapper public static object Request(checkConfig.checkConf Config, String Name) { String Host = Config.URL.Replace("%user%", Name); String Referer = Config.URL; String POSTData = null; String SuccessString = null; String FailString = null; if (Config.POSTData == null) { _Method = "GET"; } else { _Method = "POST"; POSTData = Config.POSTData.Replace("%user%", Name); } if (Config.SuccessString != null) { SuccessString = Config.SuccessString.Replace("%user%", Name); } if (Config.FailString != null) { FailString = Config.FailString.Replace("%user%", Name); } try { HttpWebRequest WebR = (HttpWebRequest)WebRequest.Create(Host); WebR.Method = _Method; WebR.CookieContainer = Cookies; WebR.AllowAutoRedirect = _AllowAutoRedirect; WebR.KeepAlive = _KeepAlive; WebR.UserAgent = _UserAgent; WebR.ContentType = "application/x-www-form-urlencoded"; WebR.Referer = Referer; if ((_Method == "POST")) { byte[] _PostData = null; _PostData = System.Text.Encoding.Default.GetBytes(POSTData); WebR.ContentLength = _PostData.Length; System.IO.Stream StreamWriter = WebR.GetRequestStream(); StreamWriter.Write(_PostData, 0, POSTData.Length); StreamWriter.Dispose(); } HttpWebResponse WebResponse; string PageHTML; try { WebResponse = (HttpWebResponse)WebR.GetResponse(); Cookies.Add(WebResponse.Cookies); System.IO.StreamReader StreamReader = new System.IO.StreamReader(WebResponse.GetResponseStream()); PageHTML = StreamReader.ReadToEnd(); } catch (WebException e) { if (Config.successOn404) { return(true); } WebResponse response = e.Response; using (System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream())) { PageHTML = reader.ReadToEnd(); } } if (SuccessString != null) { if (PageHTML.ToLower().Contains(SuccessString.ToLower())) { return(true); } else { return(false); } } else if (FailString != null) { if (!PageHTML.ToLower().Contains(FailString.ToLower())) { return(true); } else { return(false); } } return(false); } catch (Exception ex) { eventLogger.logEvent(String.Format("{0} - {1} [{2}] | {3}", ex.Message, "WebRequest Wrapper", ex.StackTrace, ex.TargetSite)); return(Config.successOn404); } }