Is it possible to force fail a recaptcha v2 for testing purposes? (I.e. pretend to be a robot)
我正在按照文档中的说明实施不可见的reCAPTCHA:reCAPTCHA V2文档
我设法实现它没有任何问题。 但是,我想知道的是,我是否可以模拟成为测试机器人?
有没有办法强迫reCAPTCHA像我认为自己是机器人一样做出响应?
在此先感谢您的协助。
在开发工具中,打开
最后,在设备模式的顶部栏的左侧,选择设备(默认为
您可以在https://www.google.com/recaptcha/api2/demo?invisible=true中测试验证码
(这是不可见Recaptcha的演示。您可以删除url
您可以使用Chrome插件(如"修改标题")和添加用户代理(如Googlebot / 2.1(+ http://www.google.com/bot.html))。
对于Firefox,如果您不想安装任何插件,则可以轻松地手动更改用户代理:
首选项)" 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的答案,请遵循如何使用插件
是的,有可能为了测试目的而强行使Recaptcha v2失败。
有两种方法可以做到这一点
第一种方式:
您只需要简单的表单请求就可以使用firefox浏览器
然后等待响应,并在获得响应后,单击"刷新"按钮,firefox将提示一个框,内容为"要显示此页面,Firefox必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息。"然后点击"重新发送"
通过这样做,浏览器将发送先前的" g-recaptcha-response"密钥,这将使您的重新验证失败。
第二种方式
您可以通过任何应用程序(例如linux)发出任何简单的发布请求,也可以使用curl进行发布请求。
只需确保您指定了所有提交的表单以及请求的标头和最重要的内容,就将一个字段名称发布为" g-recaptcha-response",并为该字段提供任何随机值
我发现,如果您单击reCaptcha徽标而不是文本框,则可能会失败。
这是因为漫游器会检测到可点击的点击框,并且由于该复选框是图像以及"我不是机器人"文本,并且漫游器无法将图像正确处理为文本,但是它们可以处理可点击的点击框, reCaptcha告诉他们单击,只是不告诉他们在哪里。
在使鼠标光标保持在reCaptcha中的同时,尽可能远离复选框单击。然后,您很可能会失败。 (它只会显示您必须识别图片的内容)。
这些图片之所以存在,是因为如我所说,机器人无法处理图像并无法识别汽车之类的东西。