我是在搜索时来到这里的,没有找到答案,所以我一直在搜索。
搜索后,该窗口仍处于打开状态,因此我将根据自己的发现更新本帖子。
在这里,您可以了解reCAPTCHA:
http://scraping.pro/no-captcha-recaptcha-challenge/
不过,基本上,您可以将其添加到您的网页中:
<script src="https://www.google.com/recaptcha/api.js" >;
<form method="post">
<div class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
<input value="submit" type="submit" />
</form>
获得您的reCAPTCHA密钥,请访问以下Google网站:
https://www.google.com/recaptcha/intro/index.html
使用上面的链接获得密钥后,您可以使用以下Google信息更深入地进行编码:
https://developers.google.com/recaptcha/
注意:
从Google文档中:
该脚本必须使用HTTPS协议加载,并且可以不受限制地从页面的任意位置包含。
这是我如何使其工作的示例:
<html>
<head>
<title>Contact</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
var onloadCallback = function () {
grecaptcha.render('dvCaptcha', {
'sitekey': '<%=ReCaptcha_Key %>',
'callback': function (response) {
$.ajax({
type: "POST",
url: "CS.aspx/VerifyCaptcha",
data: "{response: '" + response + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
var captchaResponse = jQuery.parseJSON(r.d);
if (captchaResponse.success) {
$("[id*=txtCaptcha]").val(captchaResponse.success);
$("[id*=lblAlarm]").hide();
} else {
$("[id*=txtCaptcha]").val("");
$("[id*=lblAlarm]").show();
var error = captchaResponse["error-codes"][0];
$("[id*=lblAlarm]").html("RECaptcha error. " + error);
}
}
});
}
});
};
</script>
</head>
<body>
<form action="?" method="POST">
<div id="dvCaptcha" class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
<br />
<asp:Button ID="btnSubmit" runat="Server" Text="Send" OnClick="btnSubmit_Click" />
<asp:Label ID="lblAlarm" runat="server" ForeColor="Red"></asp:Label>
</form>
</body>
</html>
如果需要在ASP.NET后面的代码中进行验证,只需验证是否已填写“ g-recaptcha-response”控件:
protected static string ReCaptcha_Key, ReCaptcha_Secret;
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request.Form["g-recaptcha-response"]))
{
// other code
} else
{
lblAlarm.Text = "reCAPTCHA failed.";
}
}
希望你们中的一些人觉得这有用。