Exemple #1
0
 public async Task<ConfigurationData> GetConfigurationForSetup()
 {
     var response = await webclient.GetString(new Utils.Clients.WebRequest()
     {
         Url = LoginUrl
     });
     cookieHeader = response.Cookies;
     var captchaImage = await RequestBytesWithCookies(CaptchaUrl);
     var config = new BmtvConfig();
     config.CaptchaImage.Value = captchaImage.Content;
     config.CaptchaCookie.Value = captchaImage.Cookies;
     return (ConfigurationData)config;
 }
Exemple #2
0
        public async Task ApplyConfiguration(JToken configJson)
        {
            var config = new BmtvConfig();
            config.LoadValuesFromJson(configJson);

            var pairs = new Dictionary<string, string> {
				{ "username", config.Username.Value },
				{ "password", config.Password.Value },
				{ "secimage", config.CaptchaText.Value }
			};

            var response = await RequestLoginAndFollowRedirect(LoginPost, pairs, config.CaptchaCookie.Value, true);
            await ConfigureIfOK(response.Cookies, response.Content.Contains("/logout.php"), async () =>
            {
                CQ dom = response.Content;
                var messageEl = dom["table tr > td.embedded > h2"].Last();
                var errorMessage = messageEl.Text();
                var captchaImage = await RequestBytesWithCookies(CaptchaUrl);
                config.CaptchaImage.Value = captchaImage.Content;
                config.CaptchaText.Value = "";
                config.CaptchaCookie.Value = captchaImage.Cookies;
                throw new ExceptionWithConfigData(errorMessage, (ConfigurationData)config);
            });
        }