Exemplo n.º 1
0
        private async Task<Classes.Result> LogoutUptobox()
        {
            Classes.Result result = new Classes.Result();

            HttpResponseMessage first = await uptboxSession.HttpClient.GetAsync(Constant.UPTOBOX);

            string responseBody = await first.Content.ReadAsStringAsync();
            var logoutLink = Helpers.HtmlFind.GetBetween(responseBody, "<a href='https://uptobox.com/logout", "'>");

            if (string.IsNullOrEmpty(logoutLink))
            {
                result.Success = false;
                result.Message = "No logout link found";
                return result;
            }

            HttpResponseMessage logoutRequest = await uptboxSession.HttpClient.GetAsync("https://uptobox.com/logout" + logoutLink);
            if (logoutRequest.IsSuccessStatusCode)
            {
                result.Success = true;
                uptboxSession.Logged = false;
            }
            else
            {
                result.Success = false;
                result.Message = $"Error logout, code: {logoutRequest.StatusCode}";
            }

            return result;
        }
Exemplo n.º 2
0
        private async Task<Classes.Result> LoginUptobox()
        {
            Classes.Result result = new Classes.Result();

            HttpResponseMessage first = await uptboxSession.HttpClient.GetAsync(Constant.UPTOBOX);

            var content = new FormUrlEncodedContent(new[]
           {
                new KeyValuePair<string, string>("login", uptboxSession.Account.Id),
                new KeyValuePair<string, string>("password", uptboxSession.Account.Password),
            });

            HttpResponseMessage responseLogin = await uptboxSession.HttpClient.PostAsync(Constant.UPTOBOX_LOGIN, content);
            string responseBody = await responseLogin.Content.ReadAsStringAsync();

            if (responseLogin.IsSuccessStatusCode)
            {
                result.Success = true;
                uptboxSession.Logged = true;
                uptboxSession.NetworkStatus = Enums.NetworkStatus.Logged;
            }
            else
            {
                result.Success = false;
                result.Message = $"Error login, code: {responseLogin.StatusCode}";
                uptboxSession.NetworkStatus = Enums.NetworkStatus.LoginError;

            }

            return result;
        }
Exemplo n.º 3
0
        //private async Task<Classes.Result> UnFichierUpload(string filepath)
        //{
        //    Classes.Result result = new Classes.Result();

        //    HttpResponseMessage first = await uptboxSession.HttpClient.GetAsync(Constant.ONEFICHIER);
        //}

        private async Task <Classes.Result> UptoboxUpload(string filepath)
        {
            Classes.Result result = new Classes.Result();

            string sessID             = "";
            HttpResponseMessage first = await uptboxSession.HttpClient.GetAsync(Constant.UPTOBOX);

            //Recover session ID
            IEnumerable <Cookie> responseCookies = uptboxSession.cookieContainer.GetCookies(new Uri(Constant.UPTOBOX)).Cast <Cookie>();

            foreach (Cookie cookie in responseCookies)
            {
                if (cookie.Name == "xfss")
                {
                    if (string.IsNullOrEmpty(cookie.Value))
                    {
                        result.Success = false;
                        result.Message = "Upload error: session cookie not found";
                    }
                    else
                    {
                        sessID = cookie.Value;
                    }
                }
            }

            //Recover url upload
            string url = Helpers.HtmlFind.GetBetween(await first.Content.ReadAsStringAsync(), "action=\"//", "\" method=\"POST\"");

            url = url.Split('/')[0];


            var multiForm = new MultipartFormDataContent();

            FileStream fs = File.OpenRead(filepath);

            multiForm.Add(new StreamContent(fs), "file[]", Path.GetFileName(filepath));

            HttpResponseMessage responseUploadFile = await uptboxSession.HttpClient.PostAsync("https://" + url + "/upload?sess_id=" + sessID, multiForm);

            if (responseUploadFile.IsSuccessStatusCode)
            {
                result.Success = true;
                uptboxSession.NetworkStatus = Enums.NetworkStatus.Uploaded;
            }
            else
            {
                result.Success = false;
                result.Message = "Upload error";
                uptboxSession.NetworkStatus = Enums.NetworkStatus.UploadingError;
            }


            return(result);
        }
Exemplo n.º 4
0
        private async Task<Classes.Result> LoginTurbotBit()
        {
            Classes.Result result = new Classes.Result();

            HttpResponseMessage first = await turbotBitSession.HttpClient.GetAsync(Constant.TURBOBIT);

            var content = new FormUrlEncodedContent(new[]
          {
                new KeyValuePair<string, string>("user[login]", turbotBitSession.Account.Id),
                new KeyValuePair<string, string>("user[pass]", turbotBitSession.Account.Password),
                new KeyValuePair<string, string>("user[captcha_type]", ""),
                new KeyValuePair<string, string>("user[captcha_subtype]", "Se connecter"),
                new KeyValuePair<string, string>("user[memory]", "on")
            });

            HttpResponseMessage responseLogin = await turbotBitSession.HttpClient.PostAsync(Constant.TURBOBIT_LOGIN, content);
            string responseBody = await responseLogin.Content.ReadAsStringAsync();

            if (responseBody.Contains("Please enter the captcha code."))
            {
                result.Success = false;
                result.Message = $"Error login, captcha required";
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.LoginError;
                return result;
            }

            if (responseBody.Contains("E-Mail address appears to be invalid. Please try again"))
            {
                result.Success = false;
                result.Message = $"Error login, bad email";
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.LoginError;
                return result;
            }

            if (responseLogin.IsSuccessStatusCode)
            {
                result.Success = true;
                turbotBitSession.Logged = true;
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.Logged;

            }
            else
            {
                result.Success = false;
                result.Message = $"Error login, code: {responseLogin.StatusCode}";
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.LoginError;

            }

            return result;
        }
Exemplo n.º 5
0
        private async Task <Classes.Result> TurbotbitUpload(string filepath)
        {
            Classes.Result result = new Classes.Result();

            HttpResponseMessage first = await turbotBitSession.HttpClient.GetAsync(Constant.TURBOBIT);

            string firstContent = await first.Content.ReadAsStringAsync();

            //Recover url upload
            string url = Helpers.HtmlFind.GetBetween(firstContent, "action=\"//", "\" method=\"POST\"");

            url = url.Split('/')[0];

            string user_id = Helpers.HtmlFind.GetBetween(firstContent, "<input name=\"user_id\" value=\"", "\" type = \"hidden\"/> ");


            if (string.IsNullOrEmpty(user_id))
            {
                result.Success = false;
                result.Message = "Empty user_id";
                return(result);
            }

            var multiForm = new MultipartFormDataContent();

            FileStream fs = File.OpenRead(filepath);

            multiForm.Add(new StreamContent(fs), "Filedata", Path.GetFileName(filepath));

            multiForm.Add(new StringContent("fd1"), "apptype");
            multiForm.Add(new StringContent("0"), "folder_id");
            multiForm.Add(new StringContent(user_id), "user_id");

            HttpResponseMessage responseUploadFile = await turbotBitSession.HttpClient.PostAsync("https://" + url + "/", multiForm);

            if (responseUploadFile.IsSuccessStatusCode)
            {
                result.Success = true;
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.Uploaded;
            }
            else
            {
                result.Success = false;
                result.Message = "Upload error";
                turbotBitSession.NetworkStatus = Enums.NetworkStatus.UploadingError;
            }

            return(result);
        }
Exemplo n.º 6
0
        private async  Task<Classes.Result> LoginUnFichier()
        {
            Classes.Result result = new Classes.Result();

            HttpResponseMessage first = await unFichierSession.HttpClient.GetAsync(Constant.ONEFICHIER);

            var content = new FormUrlEncodedContent(new[]
         {
                new KeyValuePair<string, string>("mail", unFichierSession.Account.Id),
                new KeyValuePair<string, string>("pass", unFichierSession.Account.Password),
                new KeyValuePair<string, string>("It", "on"),
                new KeyValuePair<string, string>("purge", "on"),
                new KeyValuePair<string, string>("valider", "Envoyer")
            });

            HttpResponseMessage responseLogin = await unFichierSession.HttpClient.PostAsync(Constant.ONEFICHIER_LOGIN, content);
            string responseBody = await responseLogin.Content.ReadAsStringAsync();

            if (responseBody.Contains("Adresse email incorrecte.") || responseBody.Contains("Mot de passe incorrect.") || responseBody.Contains("Utilisateur Inconnu."))
            {
                result.Success = false;
                if (responseBody.Contains("Adresse email incorrecte."))
                    result.Message = "Error login, incorrect email";
                if (responseBody.Contains("Mot de passe incorrect."))
                    result.Message = "Error login, incorrect password";
                if (responseBody.Contains("Utilisateur Inconnu."))
                    result.Message = "Error login, user not found";
                unFichierSession.NetworkStatus = Enums.NetworkStatus.LoginError;
                return result;
            }

            if (responseLogin.IsSuccessStatusCode)
            {
                result.Success = true;
                unFichierSession.Logged = true;
                unFichierSession.NetworkStatus = Enums.NetworkStatus.Logged;

            }
            else
            {
                result.Success = false;
                result.Message = $"Error login, code: {responseLogin.StatusCode}";
                unFichierSession.NetworkStatus = Enums.NetworkStatus.LoginError;

            }

            return result;
        }