Christopher
Christopher

Reputation: 788

Google reCaptcha V2 Implementation VB.net

Having a hard time getting reCaptcha to validate on my site :(

I have tried to find other sources for VB.net implementations, but haven't had much luck. Here is what I have tried...

default.aspx.vb

Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Net
Imports System.Text
Imports System.IO
Imports System.Web.Script.Serialization

Public Class _Default
Inherits System.Web.UI.Page

Sub reCaptcha_Click(ByVal sender As Object, ByVal e As EventArgs)
    If (capValidate()) Then
        MsgBox("Valid Recaptcha")
    Else
        MsgBox("Not Valid Recaptcha")
    End If

End Sub

Public Function capValidate() As Boolean
    Dim Response As String = Request("g-captcha-response")
    Dim Valid As Boolean = False
    Dim req As HttpWebRequest = DirectCast(WebRequest.Create(Convert.ToString("https://www.google.com/recaptcha/api/siteverify?secret=THIS IS WHERE MY KEY IS&response=") & Response), HttpWebRequest)

    Try
        Using wResponse As WebResponse = req.GetResponse()

            Using readStream As New StreamReader(wResponse.GetResponseStream())
                Dim jsonResponse As String = readStream.ReadToEnd()
                Dim js As New JavaScriptSerializer()
                Dim data As MyObject = js.Deserialize(Of MyObject)(jsonResponse)

                Valid = Convert.ToBoolean(data.success)
                Return Valid
            End Using
        End Using
    Catch ex As Exception
        Return False
    End Try
End Function

Public Class MyObject
    Public Property success() As String
        Get
            Return m_success
        End Get
        Set(value As String)
            m_success = Value
        End Set
    End Property
    Private m_success As String


End Class

And my front page...

<div class="g-recaptcha" 
data-sitekey="THIS IS WHERE MY SITE KEY IS"></div>
<asp:Button ID="btnLogin" CssClass="captcha_click" runat="server" Text="Check Recaptcha" OnClick="reCaptcha_Click"  TabIndex ="4"/>

My message boxes always return "not a valid recaptcha"

Can anyone shed some light on why I cannot get a valid recaptcha return?

Thanks!

Upvotes: 5

Views: 6553

Answers (1)

theduck
theduck

Reputation: 2617

Try:

Dim Response As String = Request("g-recaptcha-response")

Note the re

Upvotes: 6

Related Questions