Пример #1
0
        private async Task PerformPrivacyConsentRequestAsync()
        {
            if (CheckIfLoggedInAsync())
            {
                return;
            }

            await UpdateTumblrKey();

            const string referer = @"https://www.tumblr.com/privacy/consent?redirect=";
            var          headers = new Dictionary <string, string> {
                { "X-tumblr-form-key", tumblrKey }
            };
            HttpWebRequest request =
                webRequestFactory.CreatePostXhrReqeust("https://www.tumblr.com/svc/privacy/consent", referer, headers);
            const string requestBody = "{\"eu_resident\":true,\"gdpr_is_acceptable_age\":true,\"gdpr_consent_core\":true,\"gdpr_consent_first_party_ads\":true,\"gdpr_consent_third_party_ads\":true,\"gdpr_consent_search_history\":true,\"redirect_to\":\"\"}";

            request.ContentType = "application/json";
            await webRequestFactory.PerformPostXHRReqeustAsync(request, requestBody);

            using (var response = await request.GetResponseAsync() as HttpWebResponse)
            {
                cookieService.SetUriCookie(response.Cookies);
            }
        }
Пример #2
0
        public async Task ConfirmPrivacyConsent()
        {
            await UpdateTumblrKey();

            string referer = @"https://www.tumblr.com/privacy/consent?redirect=";
            var    headers = new Dictionary <string, string> {
                { "X-tumblr-form-key", tumblrKey }
            };
            HttpWebRequest request = webRequestFactory.CreatePostXhrReqeust("https://www.tumblr.com/svc/privacy/consent", referer, headers);

            request.ContentType = "application/json";
            string requestBody = "{\"eu_resident\":true,\"gdpr_is_acceptable_age\":true,\"gdpr_consent_core\":true,\"gdpr_consent_first_party_ads\":true,\"gdpr_consent_third_party_ads\":true,\"gdpr_consent_search_history\":true,\"redirect_to\":\"\"}";

            using (Stream postStream = await request.GetRequestStreamAsync())
            {
                byte[] postBytes = Encoding.ASCII.GetBytes(requestBody);
                await postStream.WriteAsync(postBytes, 0, postBytes.Length);

                await postStream.FlushAsync();
            }
            using (var response = await request.GetResponseAsync() as HttpWebResponse)
            {
                cookieService.SetUriCookie(response.Cookies);
            }
        }
Пример #3
0
        private async Task Register(string login, string password)
        {
            string         url     = "https://www.tumblr.com/svc/account/register";
            string         referer = "https://www.tumblr.com/login";
            var            headers = new Dictionary <string, string>();
            HttpWebRequest request = webRequestFactory.CreatePostXhrReqeust(url, referer, headers);

            cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/"));
            var parameters = new Dictionary <string, string>
            {
                { "determine_email", login },
                { "user[email]", "" },
                { "user[password]", "" },
                { "tumblelog[name]", "" },
                { "user[age]", "" },
                { "context", "no_referer" },
                { "version", "STANDARD" },
                { "follow", "" },
                { "form_key", tumblrKey },
                { "seen_suggestion", "0" },
                { "used_suggestion", "0" },
                { "used_auto_suggestion", "0" },
                { "about_tumblr_slide", "" },
                { "tracking_url", "/login" },
                { "tracking_version", "modal" },
                { "random_username_suggestions", "[\"KawaiiBouquetStranger\",\"KeenTravelerFury\",\"RainyMakerTastemaker\",\"SuperbEnthusiastCollective\",\"TeenageYouthFestival\"]" },
                { "action", "signup_determine" },
            };
            await webRequestFactory.PerformPostReqeust(request, parameters);

            using (var response = await request.GetResponseAsync().TimeoutAfter(shellService.Settings.TimeOut) as HttpWebResponse)
            {
                cookieService.SetUriCookie(response.Cookies);
            }
        }
Пример #4
0
        private async Task Register(string login, string password)
        {
            string         url     = "https://www.tumblr.com/svc/account/register";
            string         referer = "https://www.tumblr.com/login";
            var            headers = new Dictionary <string, string>();
            HttpWebRequest request = webRequestFactory.CreatePostXhrReqeust(url, referer, headers);

            request.AllowAutoRedirect = true;
            cookieService.GetUriCookie(request.CookieContainer, new Uri("https://www.tumblr.com/"));
            var parameters = new Dictionary <string, string>
            {
                { "determine_email", login },
                { "user[email]", "" },
                { "user[password]", "" },
                { "tumblelog[name]", "" },
                { "user[age]", "" },
                { "context", "no_referer" },
                { "version", "STANDARD" },
                { "follow", "" },
                { "form_key", tumblrKey },
                { "seen_suggestion", "0" },
                { "used_suggestion", "0" },
                { "used_auto_suggestion", "0" },
                { "about_tumblr_slide", "" },
                { "tracking_url", "/login" },
                { "tracking_version", "modal" },
                { "random_username_suggestions", "[\"KawaiiBouquetStranger\",\"KeenTravelerFury\",\"RainyMakerTastemaker\",\"SuperbEnthusiastCollective\",\"TeenageYouthFestival\"]" },
                { "action", "signup_determine" },
            };
            string requestBody = webRequestFactory.UrlEncode(parameters);

            using (Stream postStream = await request.GetRequestStreamAsync())
            {
                byte[] postBytes = Encoding.ASCII.GetBytes(requestBody);
                await postStream.WriteAsync(postBytes, 0, postBytes.Length);

                await postStream.FlushAsync();
            }
            using (var response = await request.GetResponseAsync() as HttpWebResponse)
            {
                cookieService.SetUriCookie(response.Cookies);
            }
        }