/// <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); }
/// <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}"); } }