是否有可能为了测试目的强行使Recaptcha v2失败? (即假装成机器人)

Is it possible to force fail a recaptcha v2 for testing purposes? (I.e. pretend to be a robot)

我正在按照文档中的说明实施不可见的reCAPTCHA:reCAPTCHA V2文档

我设法实现它没有任何问题。 但是,我想知道的是,我是否可以模拟成为测试机器人?

有没有办法强迫reCAPTCHA像我认为自己是机器人一样做出响应?

在此先感谢您的协助。


在开发工具中,打开Settings,然后打开Devices,添加名称和用户代理均等于Googlebot/2.1的自定义设备。

最后,在设备模式的顶部栏的左侧,选择设备(默认为Responsive)。

您可以在https://www.google.com/recaptcha/api2/demo?invisible=true中测试验证码

(这是不可见Recaptcha的演示。您可以删除url invisible参数以使用验证码按钮进行测试)


您可以使用Chrome插件(如"修改标题")和添加用户代理(如Googlebot / 2.1(+ http://www.google.com/bot.html))。


对于Firefox,如果您不想安装任何插件,则可以轻松地手动更改用户代理:

  • 在URL框中输入about:config,然后按回车键;
  • 搜索" useragent"(一个词),仅检查已经存在的内容;
  • 创建一个标题为(即新的)新字符串(在窗口中的某个位置单击鼠标右键)
    首选项)" general.useragent.override",并带有字符串值
    " Googlebot / 2.1"(或您要测试的其他任何工具)。
  • 我使用Recaptcha v3进行了尝试,它的确返回了0.1分

    并且不要忘记在完成测试后从about:config中删除这一行!

    我在这里找到了这种方法(这是Apple OS的文章,但Firefox方法也适用于Windows):http://osxdaily.com/2013/01/16/change-user-agent-chrome-safari-firefox/


    只需完成Rafael的答案,请遵循如何使用插件

    Modify headers Google Bot 2.1


    是的,有可能为了测试目的而强行使Recaptcha v2失败。

    有两种方法可以做到这一点

    第一种方式:

    您只需要简单的表单请求就可以使用firefox浏览器
    然后等待响应,并在获得响应后,单击"刷新"按钮,firefox将提示一个框,内容为"要显示此页面,Firefox必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息。"然后点击"重新发送"

    通过这样做,浏览器将发送先前的" g-recaptcha-response"密钥,这将使您的重新验证失败。

    第二种方式

    您可以通过任何应用程序(例如linux)发出任何简单的发布请求,也可以使用curl进行发布请求。

    只需确保您指定了所有提交的表单以及请求的标头和最重要的内容,就将一个字段名称发布为" g-recaptcha-response",并为该字段提供任何随机值


    我发现,如果您单击reCaptcha徽标而不是文本框,则可能会失败。

    这是因为漫游器会检测到可点击的点击框,并且由于该复选框是图像以及"我不是机器人"文本,并且漫游器无法将图像正确处理为文本,但是它们可以处理可点击的点击框, reCaptcha告诉他们单击,只是不告诉他们在哪里。

    在使鼠标光标保持在reCaptcha中的同时,尽可能远离复选框单击。然后,您很可能会失败。 (它只会显示您必须识别图片的内容)。

    这些图片之所以存在,是因为如我所说,机器人无法处理图像并无法识别汽车之类的东西。