예제 #1
0
            /// <summary>
            /// Загружает страницу капчи на сервер.
            /// </summary>
            /// <param name="googleKey">Значение параметра k или data-sitekey, которое вы нашли в коде страницы</param>
            /// <param name="url">Полный URL страницы, на которой вы решаете ReCaptcha V2</param>
            /// <param name="invis">Определяет тип капчи. 1 - невидимая, 0 - видимая</param>
            /// <returns></returns>
            public async Task <ResponseData> SendCaptchaData(string googleKey, string url, byte invis = 0)
            {
                var response = await "https://rucaptcha.com/in.php".PostUrlEncodedAsync(new
                {
                    key       = _key,
                    method    = "userrecaptcha",
                    googlekey = googleKey,
                    pageurl   = url,
                    invisible = invis,
                    json      = 1
                });

                var result = await response.GetStringAsync();

                if (_debugger)
                {
                    Debugger.Log(0, null, $"Type: [IN]\r\nURL: [{url}]\r\nGoogleKey: [{googleKey}]\r\nResponse: [{result}]\r\n");
                }

                HandleError.ProcessResponse(result, out var value);

                return(value);
            }
예제 #2
0
        /// <param name="key">Ключ разработчика</param>
        /// <param name="pingBackUrl">URL для отправки ответов</param>
        /// <param name="debugger">Включить логирование</param>
        public Solver(string key, string pingBackUrl = null, bool debugger = false)
        {
            _key         = key;
            _debugger    = debugger;
            _pingBackUrl = pingBackUrl;

            if (_pingBackUrl == null)
            {
                return;
            }

            var result = CallBackHelper.PingBackAction(_key, _pingBackUrl, PingBack.Add).Result;

            if (_debugger)
            {
                Debugger.Log(0, null, $"Type: [RES]\r\nURL: [{_pingBackUrl}]\r\nResponse: [{result}]\r\n");
            }

            if (!HandleError.ProcessResponse(result, out var _))
            {
                throw new Exception($"Сервер вернул ошибку: {result}");
            }
        }