Новый Google Recaptcha с ASP.Net

Я пытаюсь получить новыйGoogle reCaptcha Я работаю в своем проекте ASP.NET, и у меня возникают проблемы с получением нового "Я не робот".

У меня был старый, и после долгих исследований на сайте developers.google.com все выглядит одинаково (они даже указывают мне на скачивание той же самой dll - 1.0.5). Итак, я получил новые ключи и вставил их, и это работает, но выглядит так же, как старая reCaptcha.

Кто-нибудь получил новый для работы с их ASP.Net? Что мне не хватает?

РЕДАКТИРОВАТЬ:

Поэтому, играя в тестовом приложении и просматривая другие веб-сайты, я обнаружил, что если я создаю страницу, подобную этой:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>reCAPTCHA demo: Simple page</title>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
    <form id="form1" runat="server" action="?" method="POST">
    <div>
    <div class="g-recaptcha" data-sitekey="My Public Key"></div>
      <br/>
        <asp:Button ID="Button1" runat="server" Text="Submit" />

    </div>
    </form>
</body>
</html>

И затем в моем коде (Button1_Click) я делаю это:

Dim Success As Boolean
Dim recaptchaResponse As String = request.Form("g-recaptcha-response")
If Not String.IsNullOrEmpty(recaptchaResponse) Then
    Success = True
Else
    Success = False
End If

recaptchaResponse будет либо пустым, либо заполненным в зависимости от того, бот они или нет. Проблема в том, что теперь мне нужно взять этот ответ и отправить его в Google со своим закрытым ключом, чтобы я мог проверить, что ответ не был предоставлен ботом в моем коде, но я не могу понять, как. Я попробовал это (вместоSuccess = True):

Dim client As New System.Net.Http.HttpClient()
client.BaseAddress = New Uri("https://www.google.com/recaptcha/")
client.DefaultRequestHeaders.Accept.Clear()
client.DefaultRequestHeaders.Accept.Add(New Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))

Dim response As Net.Http.HttpResponseMessage = Await client.GetAsync("api/siteverify?secret=My Private key&response=" + recaptchaResponse)
If (response.IsSuccessStatusCode) Then
    Dim CaptchResponse As ReCaptchaModel = Await response.Content.ReadAsAsync(Of ReCaptchaModel)()
    Success = CaptchResponse.success
Else
    Success = False
End If

Но я не мог понять, как заставить работать асинхронный материал, и я не могу найти что-нибудь о том, чтоReCaptchaModel есть, поэтому я нашел другой способ вызвать веб-сервис и получить ответ json и попробовал это вместо этого:

Dim request As Net.WebRequest = Net.WebRequest.Create("https://www.google.com/recaptcha/")
Dim Data As String = "api/siteverify?secret=My Private Key&response=" + recaptchaResponse
request.Method = "POST"
request.ContentType = "application/json; charset=utf-8"
Dim postData As String = "{""data"":""" + Data + """}"
'get a reference to the request-stream, and write the postData to it
Using s As IO.Stream = request.GetRequestStream()
    Using sw As New IO.StreamWriter(s)
        sw.Write(postData)
    End Using
End Using
'get response-stream, and use a streamReader to read the content
Using s As IO.Stream = request.GetResponse().GetResponseStream()
    Using sr As New IO.StreamReader(s)
        'decode jsonData with javascript serializer
        Dim jsonData = sr.ReadToEnd()
        Stop
    End Using
End Using

Но это просто дает мне содержание веб-страницы наhttps://www.google.com/recaptcha, Не то, что я хочу.Страница Google не очень полезно, и я застрял на том, куда идти. Мне нужна помощь, позвонив в службу проверки Google или если кто-то нашел другой способ сделать это из ASP.NET.

Ответы на вопрос(4)

Ваш ответ на вопрос