У меня возникли проблемы с проверкой reCAPTCHA

У меня есть проект с django, и у меня есть шаблон регистрации, в нем я поместил recaptcha, чтобы при заполнении он проверял ее, но когда я тестировал, я заполнил форму, и она сказала мне "ошибка reCAPTCHA, повторите попытку позже"

У меня есть мнение:

def signup(request):
    if request.method == 'GET':
        return render(request, 'signup.html', {'form': UserSignUpForm()})
    else:
        form = UserSignUpForm(request.POST)
        if form.is_valid():
            if verificar_recaptcha(request.POST.get('g-recaptcha-response')):
                if request.POST['password1'] == request.POST['password2']:
                    try:
                        user = User.objects.create_user(
                            username=request.POST['username'],
                            password=request.POST['password1'],
                            first_name=request.POST['first_name'],
                            last_name=request.POST['last_name'],
                            email=request.POST['email']
                        )
                        user.save()
                        login(request, user)
                        return redirect('mensaje')
                    except IntegrityError:
                        return render(request, 'signup.html', {
                            'form': UserSignUpForm(),
                            'error': 'El usuario ingresado ya se encuentra registrado'
                        })
                else:
                    return render(request, 'signup.html', {
                        'form': UserSignUpForm(),
                        'error': 'Las contraseñas no coinciden'
                    })
            else:
                return render(request, 'signup.html', {
                    'form': UserSignUpForm(),
                    'error': 'Error de reCAPTCHA. Por favor, inténtalo de nuevo.'
                })
        else:
            return render(request, 'signup.html', {'form': form})

У меня есть другой файл, который выполняет проверку

import requests

def verificar_recaptcha(token):
    secret_key = 'secretkey'
    url = 'https://www.google.com/recaptcha/api/siteverify'
    payload = {
        'secret': secret_key,
        'response': token
    }
    response = requests.post(url, data=payload)
    data = response.json()
    if data['success']:
        return True
    else:
        return False

Я пробовал менять представления, но ничего не происходит.

Попробуйте добавить заголовок User-Agent к вашему запросу :

    url = "https://www.google.com/recaptcha/api/siteverify"
headers = {'User-Agent': 'DebuguearApi-Browser',}
payload = {
    'secret': secret_key,
    'response': token
}
response = requests.post(url, data=payload, headers=headers)  # <--  Update Here
Вернуться на верх