问题描述
简介
我正在尝试制作一个可以解决 RECAPTCHA 的 API,但令牌仅在生成后有效一次且仅在两分钟内有效,如此处 official documentation recaptcha 所述。所以我的问题是:像 2captcha 这样的 CAPTCHA 求解器如何能够解决验证码,获取令牌然后将其发送给您,而您仍然可以使用它?
我做什么
以下是我遵循的步骤:
-
我在以下网站 recaptcha demo
上解决了一个 RECAPTCHA -
我得到了令牌,例如
03AGdBq26i2ugKCS8sJVpYZqnHnQgqTr2vM_lmZF3XuinqdmD-bP9WbnxSF8R7zOiMvVwKQiOonrJVApECHGz2VAurRGQLIM5W7Jb6kl60-x-_F1Krk8HrXkGcS4WirrLQtBHpoi2wZB0HQ_Ok-2X2uOU5zUXc9xLO5QVWyp8TSx2RJCfT4flmfVk1NMPEHTWHCCHUAIicewKiZPokmmd2tnLamlo57FKpX1Fp2apad_pSsmlrphWC8O6tQGxkAjU_trEdg0xRTsmbRD3AkCuqdgqkxQFTsIYeqISkaXqc71HWy-L3AmK1hL8T6LZ3pLDfOyGDhyafSNMGqO5zePaAJMf7yvFnTlTlYe-fLwc3VXUkNQ67ML39hzXD2beW38aPLxtt7EovVFHmIBIbsAMAsR9qpQxqtPofTObj_5-oAwfQKuoO-rUg8ODCqLoORhqVQ_bkffvMHQWxXSLX7KtQ1tqpimD4tXFAz_3R_nX12UX_ngb27jBPKgpfkET4FcOFFSSWgr1PIpsAW_97QcYOTHc3tlziuiWL5Okim_7lFkZxBINK1H0pDUA
-
我在另一个浏览器上的另一个验证码中插入了令牌,但在同一个网站 recaptcha demo
-
我收到以下错误
POST data array ( 'ex-a' => 'foo','ex-b' => 'bar','g-recaptcha-response' => '03AGdBq246H-d9zX9ORfE9Zwo7kUKQc50pm7qCKrjuguuU2RXUvRYyxitgIEtNpuTSZqzMAGAYPMpTMRy-NMeftr0zpT3fdaBmVzM8hhGxJ_RxoCpJ-aHSyTdudVHZPYFPAmDftU8WqBApcIA7SLETGMWfKcvy0sugs48J7-CBbryPg4Ckd-tOQnP5pvyfu5ehhIkav4jaaGj6ToXSsVCa35iPy78csRYyXiexgaeyv-bLaCDaGpfb9RXwu2Xmkrlb7fiW-wbRTiYMOWAPm3mu1sMFIBQ9OULD9TxjJS_Gm8QI0S-1UXutya3z-IUPf_KydAXzpkLYStO0hz8wbGlWQ_5OlSuL0EsCCf87broPdVXvwil5U-BFIi55vSgdZ5bHDeYobBxEdV-RcvEYLK3hh19zyomWr3o-VaiS0_5TRVhYY74z1gNA3UpRvLDkLP50Nvbc-roKAps10NhrTQfoMedxMkgaMuwd6Y7zToFhBlT128b6Vir8zNWFucoB5mSdI0OpazuKT0okfln6Otx70NOQUkOxFqkEEsoJtYxxvwPSEOYq39dAqY5rfs8xkZ6ivgZEZDflUpYS',) Something went wrong ReCaptcha\Response::__set_state(array( 'success' => false,'errorCodes' => array ( 0 => 'timeout-or-duplicate',1 => 'hostname-mismatch',),'hostname' => NULL,'challengeTs' => NULL,'apkPackageName' => NULL,'score' => NULL,'action' => NULL,)) Check the error code reference at https://developers.google.com/recaptcha/docs/verify#error-code-reference.
这意味着令牌已经被使用过一次,如official documentation recaptcha中所述。
评论、观察
- 所以一定是像 2captcha 这样的服务可以在不真正提交的情况下解决 RECAPTCHA,所以令牌不会被使用
- 我尝试在站点 recaptcha demo(使用 fiddler)中手动解决 RECAPTCHA 时嗅探 http 流量。我很惊讶我没有看到带有 gcaptcha 响应(或令牌)的 http 流量是我发送到网站的 POST 请求的一部分。 gcaptcha 响应是否可能是在 PC 客户端(如在我的 PC 中)创建的?
- 如果您想了解有关解决 RECAPTCHA 和将令牌传递给其他浏览器的步骤的更多详细信息,请参阅 my answer,其中我在 步骤 标题下描述了所有内容。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)