Пример #1
0
        /// <summary>
        /// </summary>
        /// <returns></returns>
        public static async Task <string> DoLogin(AuthToken authToken)
        {
            bool loginSuccess        = false;
            bool responseCodeSuccess = false;

            if (OnLogin == null)
            {
                OnLogin += OnPostLogin;
                //OnLogin += BitChute.Web.ViewClients.Run_OnLogin;
                //OnLogin += HomePageFrag.OnPostLoginAttempt;
            }
            try
            {
                if (!FullHeadersAdded)
                {
                    ExtWebInterface.HttpClient.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
                    ExtWebInterface.HttpClient.DefaultRequestHeaders.Add("Accept", "*/*");
                    ExtWebInterface.HttpClient.DefaultRequestHeaders.Add("Referer", "https://www.bitchute.com/");
                    FullHeadersAdded = true;
                }
            }
            catch
            {
            }
            try {
                var formdata       = GetLoginKeys(authToken);
                var requestContent = await formdata.ReadAsStringAsync();

                var response = await ExtWebInterface.HttpClient.PostAsync("https://www.bitchute.com/accounts/login/", formdata);

                var header = await ExtWebInterface.GetRequestHeader(response.Headers, true);

                responseCodeSuccess = response.IsSuccessStatusCode;
                if (String.IsNullOrWhiteSpace(AppSettings.SessionState.SessionId))
                {
                    loginSuccess = false;
                }
                else
                {
                    loginSuccess            = true;
                    AppState.UserIsLoggedIn = true;
                }
            }
            catch (Exception ex) { }
            try
            {
                if (loginSuccess && responseCodeSuccess)
                {
                    OnLogin.Invoke(new LoginEventArgs(false, true, true, false));
                }
                else
                {
                    OnLogin.Invoke(new LoginEventArgs(false, true, false, true));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return("");
        }