@GamiD Вот функция, там всего один простой запрос, думаю разберешься
func getSolution(key, token string) (string, error) { url := fmt.Sprintf("https://www.google.com/recaptcha/api2/reload?k=%s", key) payload := fmt.Sprintf("reason=q&c=%s&size=invisible", token) resp, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(payload)) if err != nil { return "", err } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { return "", fmt.Errorf("Failed to retrieve solution: %v", resp.Status) } // Read the response body body, err := io.ReadAll(resp.Body) if err != nil { return "", err } re := regexp.MustCompile(`"rresp","(.*?)",`) match := re.FindStringSubmatch(string(body)) if len(match) < 2 { return "", fmt.Errorf("Failed to extract 'rresp' value from the response body") } solution := match[1] return solution, nil }Завершение потока с ошибкой решения ReCaptcha 2
-
Добрый день, помогите разобраться...
Скрипт решает Рекапчу 2, через сервис Рукапча.
Но иногда бывает так, что решает довольно долго и капча на сайте пропадает.
Собственно поток завершается с ошибкой ("Captcha not visible" ) или просто действие "решение капчи" заканчивается и скрипт ничего не делает.ВОПРОС: Как сделать так, чтобы в таких случаях скрипт не останавливался, а решал капчу снова ?
Заранее спасибо!
-
-
@Antonio said in Завершение потока с ошибкой решения ReCaptcha 2:
Например можно решение капчи положить внутрь "игнорировать ошибки" и это вместе положить в цикл while, где добавить if если was error будет false (т.е. если ошибки нет) и там уже выход из цикла. Ну и по количеству циклов тоже выход сделать, штуки 4.
А можно скрин из БАС этой схемы ?
А то у меня что-то не так получается -
@vanek2619 0_1509134245757_1.xml
Вообще там антикапча наверно возвращает какие-то конкретные ошибки и можно, наверно, под конкретную ошибку конкретное действие прописать. Я сначала подумал, что Капмонстром гадаете. Если там ошибка из-за незагруженности картинки с капчей, то нужно страницу перезагружать. -
@smurfik said in Завершение потока с ошибкой решения ReCaptcha 2:
@vanek2619 вообщем...
установить метка "капча"
игнорировать ошибки
в блок игнора,закинуть пункт 2
if was error
перейти к метке капчаесли что, могу скинуть скрин..у меня именно эта же ситуация есть в скрипте
Было бы здорово увидеть скрин)
image url)