@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 v2 Ошибка если галка сразу ставитя.
-
Если галочка ставится сразу, то скрипт не идет дальше, а ждет появления кнопки аудиокапчи. Потом бьет ошибку.
И второй баг, идентичный. Есть сайты где чекбокса рекапчи нет. Она появляется при нажатии на какой-нибудь элемент. Но скрипту чтоб запустить разгадку нужно кликнуть в этот чекбокс. Поэтому он зависает и выбивает ошибку -
Если галочка ставится сразу, то скрипт не идет дальше, а ждет появления кнопки аудиокапчи. Потом бьет ошибку.
Когда последний раз проверял, то это работало, проверю еще раз, возможно что-то поменяли.
Есть сайты где чекбокса рекапчи нет. Она появляется при нажатии на какой-нибудь элемент. Но скрипту чтоб запустить разгадку нужно кликнуть в этот чекбокс. Поэтому он зависает и выбивает ошибку
Это невидимая капча, будет в ближайшем апдейте.