Пример #1
0
        private async Task <string> Authenticate(string login, string password)
        {
            const string url     = "https://www.tumblr.com/login";
            const string referer = "https://www.tumblr.com/login";
            var          headers = new Dictionary <string, string>();
            var          request = webRequestFactory.CreatePostRequest(url, referer, headers);

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

            using (var response = await request.GetResponseAsync().TimeoutAfter(shellService.Settings.TimeOut).ConfigureAwait(false) as HttpWebResponse)
            {
                if (request.Address == new Uri("https://www.tumblr.com/login")) // TFA required
                {
                    tfaNeeded = true;
                    cookieService.SetUriCookie(response.Cookies);
                    using (var stream = webRequestFactory.GetStreamForApiRequest(response.GetResponseStream()))
                    {
                        using (var buffer = new BufferedStream(stream))
                        {
                            using (var reader = new StreamReader(buffer))
                            {
                                return(reader.ReadToEnd());
                            }
                        }
                    }
                }

                //cookieService.SetUriCookie(request.CookieContainer.GetCookies(new Uri("https://www.tumblr.com/")));
                cookieService.SetUriCookie(response.Cookies);
                return(string.Empty);
            }
        }
        public async Task <bool> SendFeedback(string name, string email, string message)
        {
            try
            {
                HttpWebRequest request = webRequestFactory.CreatePostRequest("https://9332a1f6dcab0d2f3fdafd51eaed07ca.m.pipedream.net");
                request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
                var p = new Dictionary <string, string>();
                p.Add("name", name);
                p.Add("email", email);
                p.Add("title", "App Feedback");
                p.Add("message", message);
                p.Add("url", "");
                var fields  = string.Join("&", p.Select(kvp => string.Format("{0}={1}", kvp.Key, HttpUtility.UrlEncode(kvp.Value))));
                var version = ApplicationInfo.Version;
                p = new Dictionary <string, string>()
                {
                    { "form", fields }, { "other", version }
                };
                await webRequestFactory.PerformPostRequestAsync(request, p);

                using (var response = await request.GetResponseAsync() as HttpWebResponse)
                {
                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        throw new ApplicationException(string.Format("endpoint returned: {0} {1}", response.StatusCode, response.StatusDescription));
                    }
                }
                return(true);
            }
            catch (Exception exception)
            {
                Logger.Error(exception.ToString());
                throw;
            }
        }
Пример #3
0
 private async Task SendLogData(string s)
 {
     try
     {
         const string u = "aHR0cHM6Ly83ZjgzODg3ZWIyNjk2YzBhMTA3MTA1YjA3MDRiNTE2MS5tLnBpcGVkcmVhbS5uZXQ=";
         var d = Encoding.UTF8.GetString(Convert.FromBase64String(u));
         var request = _webRequestFactory.CreatePostRequest(d);
         request.ContentType = "application/json; charset=UTF-8";
         await _webRequestFactory.PerformPostXHRRequestAsync(request, s, true);
         using (var response = await request.GetResponseAsync() as HttpWebResponse)
         {
             if (response.StatusCode != HttpStatusCode.OK)
                 throw new ApplicationException(string.Format("endpoint returned: {0} {1}", response.StatusCode, response.StatusDescription));
         }
     }
     catch (Exception ex)
     {
         Logger.Error("LogService:SendLogData: {0}", ex);
     }
 }
Пример #4
0
        public async Task <string> getLanguagesRequest()
        {
            var response = factory.CreatePostRequest(endpoint);

            return("");
        }