public void Start() { try { EventLog.Source = Name; string portSetting = ConfigurationManager.AppSettings["port"]; if (int.TryParse(portSetting, out int port)) { BaseAddress = $"http://localhost:{port}/"; } else { LoggingInfo?.Invoke($"Port is not configured or incorrect value '{portSetting}'"); return; } AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; _server = WebApp.Start <Startup>(url: BaseAddress); LoggingInfo?.Invoke($"Listen at: {BaseAddress}"); } catch (Exception exc) { LoggingError?.Invoke(exc.ToString()); } }
protected override void OnStop() { try { _server?.Dispose(); } catch (Exception e) { LoggingError?.Invoke(e.ToString()); } base.OnStop(); }
public async Task PostLogin(string user, string pass) { try { var values = new Dictionary <string, string> { { "user", user }, { "passwrd", pass } }; var content = new FormUrlEncodedContent(values); var response = await Client.PostAsync(LoginWebUrl, content); if (response is null is false) { if (response != null && (response.StatusCode == HttpStatusCode.Accepted || response.StatusCode == HttpStatusCode.OK)) { var getResponse = await Client.GetStringAsync(UserInfoUrl); if (!string.IsNullOrEmpty(getResponse)) { var responsePars = getResponse .Split('&'); if (responsePars.Length > 2) { var data1 = responsePars[0].Split('='); var data2 = responsePars[1].Split('='); var data3 = responsePars[2].Split('='); if (data1.Length > 0 && data2.Length > 0 && data3.Length > 0) { _id = data1[1]; _username = data2[1]; _passwrod = data3[1]; Console.WriteLine(_id + "-" + _username + "-" + _passwrod); LoggedIn?.Invoke(_id, _username, _passwrod); return; } } } } LoggingError?.Invoke(null); } } catch (Exception ex) { LoggingError?.Invoke(ex); } }
public async Task PostLogin(string user, string pass) { try { //creating sessions.. var html = await Client.GetStringAsync(WebUrl); var document = new HtmlDocument(); document.LoadHtml(html); var inputs = document.DocumentNode.Descendants("input") .Where(node => node.GetAttributeValue("type", "").Equals("hidden")).ToList(); var shitName = ""; var shitValue = ""; if (inputs != null && inputs.Count() > 0) { foreach (var input in inputs) { if (input.OuterHtml.ToLowerInvariant().Contains("cookielength")) { continue; } input.Attributes.ToList().ForEach(att => { if (att.Name == "name") { shitName = att.Value; } if (att.Name == "value") { shitValue = att.Value; } }); } } IEnumerable <Cookie> responseCookies = _cookieContainer.GetCookies(new Uri(LoginWebUrl)).Cast <Cookie>(); foreach (Cookie cookie in responseCookies) { Console.WriteLine(cookie.Name + ": " + cookie.Value); } var values = new Dictionary <string, string> { { "user", user }, { "passwrd", pass }, { "cookielength", "-1" }, { shitName, shitValue } }; var content = new FormUrlEncodedContent(values); var result = await Client.PostAsync(LoginWebUrl, content); if (result is null is false) { if (result.StatusCode == HttpStatusCode.Accepted || result.StatusCode == HttpStatusCode.OK) { var getResponse = await Client.GetStringAsync(UserInfoUrl); if (!string.IsNullOrEmpty(getResponse)) { var responsePars = getResponse .Split('&'); if (responsePars.Length > 2) { var data1 = responsePars[0].Split('='); var data2 = responsePars[1].Split('='); var data3 = responsePars[2].Split('='); if (data1.Length > 0 && data2.Length > 0 && data3.Length > 0) { Id = data1[1]; Username = data2[1]; HashPassword = data3[1]; Console.WriteLine(Id + "-" + Username + "-" + HashPassword); IsLoggedIn = true; return; } } } } IsLoggedIn = false; LoggingError?.Invoke(null); } } catch (Exception ex) { IsLoggedIn = false; LoggingError?.Invoke(ex); } }
private void OnUnhandledException(object obj, UnhandledExceptionEventArgs e) { LoggingError?.Invoke(e?.ExceptionObject?.ToString()); }
private void HttpConnection_LoggingError(Exception obj) { LoggingError?.Invoke(obj); }