Example #1
0
        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());
            }
        }
Example #2
0
        protected override void OnStop()
        {
            try
            {
                _server?.Dispose();
            }
            catch (Exception e)
            {
                LoggingError?.Invoke(e.ToString());
            }

            base.OnStop();
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
 private void OnUnhandledException(object obj, UnhandledExceptionEventArgs e)
 {
     LoggingError?.Invoke(e?.ExceptionObject?.ToString());
 }
Example #6
0
 private void HttpConnection_LoggingError(Exception obj)
 {
     LoggingError?.Invoke(obj);
 }