Esempio n. 1
0
        /// <summary>
        /// Initializes a Captcha Service basing on its type and authentication credentials.
        /// </summary>
        /// <param name="cs">The Captcha Settings</param>
        /// <returns>The Captcha Service.</returns>
        public static CaptchaService Initialize(SettingsCaptchas cs)
        {
            switch (cs.CurrentService)
            {
            case ServiceType.ImageTypers:
                return(new ImageTyperz(cs.ImageTypToken, cs.Timeout));

            case ServiceType.AntiCaptcha:
                return(new AntiCaptcha(cs.AntiCapToken, cs.Timeout));

            case ServiceType.DBC:
                return(new DeathByCaptcha(cs.DBCUser, cs.DBCPass, cs.Timeout));

            case ServiceType.TwoCaptcha:
                return(new TwoCaptcha(cs.TwoCapToken, cs.Timeout));

            case ServiceType.RuCaptcha:
                return(new RuCaptcha(cs.RuCapToken, cs.Timeout));

            case ServiceType.DeCaptcher:
                return(new DeCaptcher(cs.DCUser, cs.DCPass, cs.Timeout));

            case ServiceType.AZCaptcha:
                return(new AZCaptcha(cs.AZCapToken, cs.Timeout));

            case ServiceType.CaptchasIO:
                return(new CaptchasIO(cs.CIOToken, cs.Timeout));

            case ServiceType.CustomTwoCaptcha:
                return(new CustomTwoCaptcha(cs.CustomTwoCapToken, cs.CustomTwoCapDomain, cs.CustomTwoCapPort, cs.Timeout));

            default:
                throw new NotSupportedException("Service not supported");
            }
        }
Esempio n. 2
0
        /// <summary>Gets a <see cref="CaptchaService"/> to be used for solving captcha challenges.</summary>
        public static CaptchaService GetService(SettingsCaptchas settings)
        {
            CaptchaService service;

            switch (settings.CurrentService)
            {
            case CaptchaServiceType.AntiCaptcha:
                service = new AntiCaptchaService(settings.AntiCapToken);
                break;

            case CaptchaServiceType.AzCaptcha:
                service = new AzCaptchaService(settings.AZCapToken);
                break;

            case CaptchaServiceType.CaptchasIO:
                service = new CaptchasIOService(settings.CIOToken);
                break;

            case CaptchaServiceType.CustomTwoCaptcha:
                service = new CustomTwoCaptchaService(settings.CustomTwoCapToken,
                                                      new Uri($"http://{settings.CustomTwoCapDomain}:{settings.CustomTwoCapPort}"));
                break;

            case CaptchaServiceType.DeathByCaptcha:
                service = new DeathByCaptchaService(settings.DBCUser, settings.DBCPass);
                break;

            case CaptchaServiceType.DeCaptcher:
                service = new DeCaptcherService(settings.DCUser, settings.DCPass);
                break;

            case CaptchaServiceType.ImageTyperz:
                service = new ImageTyperzService(settings.ImageTypToken);
                break;

            case CaptchaServiceType.CapMonster:
                service = new CapMonsterService(settings.CustomTwoCapToken,
                                                new Uri($"http://{settings.CustomTwoCapDomain}:{settings.CustomTwoCapPort}"));
                break;

            case CaptchaServiceType.RuCaptcha:
                service = new RuCaptchaService(settings.RuCapToken);
                break;

            case CaptchaServiceType.SolveCaptcha:
                service = new SolveCaptchaService(settings.SCToken);
                break;

            case CaptchaServiceType.SolveRecaptcha:
                service = new SolveRecaptchaService(settings.SRToken);
                break;

            case CaptchaServiceType.TrueCaptcha:
                service = new TrueCaptchaService(settings.TrueCapUser, settings.TrueCapToken);
                break;

            case CaptchaServiceType.TwoCaptcha:
                service = new TwoCaptchaService(settings.TwoCapToken);
                break;

            default:
                throw new NotSupportedException();
            }

            service.Timeout = TimeSpan.FromSeconds(settings.Timeout);
            return(service);
        }