ฉันมาที่นี่ในการค้นหาของฉันไม่เห็นคำตอบและดังนั้นฉันจึงค้นหาต่อไป
หลังจากการค้นหาของฉันหน้าต่างนี้ยังคงเปิดอยู่ดังนั้นฉันจึงอัปเดตโพสต์นี้ด้วยสิ่งที่ฉันค้นพบ
ที่นี่คุณสามารถเรียนรู้เกี่ยวกับ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.";
}
}
หวังว่าพวกคุณบางคนอาจพบว่าสิ่งนี้มีประโยชน์