MechanicalSoup 从不运行小组件的 JavaScript,所以表单里缺少 g-recaptcha-response 字段,给它赋值会抛出 LinkNotFoundError。本文给出完整做法:用 CapSkip 识别 reCAPTCHA,亲手加上这个字段,然后提交表单,隐形 reCAPTCHA 和 v3 也一并涵盖。
如何用 Guzzle 和 cookie jar 在 PHP 中识别 CaptchaFox
Guzzle 默认不保存 cookie,不发送 Referer,还自称 GuzzleHttp/8,其中任何一点都可能让 CaptchaFox token 被拒绝。本文给出完整的 PHP 代码:用 CapSkip 识别小组件,再以签发该 token 的浏览器身份提交它。
如何用 cURL 和 DOMXPath 在 PHP 中识别 Friendly Captcha
新建的 cURL 句柄记不住会话 cookie,所以带 CSRF 保护的表单会拒绝一个完全正确的 Friendly Captcha token。本文给出完整的 PHP 代码:始终沿用同一个会话,从 script 标签判断是 v1 还是 v2,再提交 CapSkip 返回的 token,同时处理多个表单的情况也一并涵盖。
如何在 Jupyter 中识别验证码而不触发 asyncio.run 错误
Jupyter 内核本身已经在运行一个事件循环,所以 asyncio.run 会抛出 RuntimeError,Playwright 的同步 API 也会拒绝启动。本文给出在笔记本单元格中用 CapSkip 识别验证码的完整做法:安装、两种客户端、停止按钮、浏览器以及远程内核。
如何在 RQ 作业中识别验证码并越过 180 秒时限
RQ 给每个作业 180 秒,而一次 reCAPTCHA 识别最长可能要 300 秒,所以默认设置会在轮询中途杀掉较慢的识别,让它们白白作废。本文给出完整的 RQ 作业代码:用 CapSkip 识别并提交表单,超时、重试和 worker 都按需配置好,Windows 也一并涵盖。
如何在 Node.js 中识别 Capy Puzzle 并保持会话
Node 的 fetch 不保存 cookie,也不发送 Referer,所以用它提交的 Capy 答案可能会被当作会话已过期退回来。本文给出完整的 Node.js 代码:用 CapSkip 识别拼图,再按页面期望的方式提交全部三个值。
如何在 Symfony Panther 中识别 reCAPTCHA(PHP SDK)
Panther 无法把内容输入 reCAPTCHA 隐藏的 g-recaptcha-response 字段,而且在 Windows 上,它自己找到的 chromedriver 也启动不了。本文给出完整的 PHP 代码:用 CapSkip 识别小组件,用 executeScript 写入 token 并提交,带回调的页面也一并涵盖。
如何在 Node.js 中用正确的 user agent 识别 CaptchaFox
Node 的 fetch 会告诉每个服务器它的 user agent 是 node,这样提交的 CaptchaFox token 可能会被拒绝。本文给出完整的 Node.js 代码:用 CapSkip 识别小组件,再以签发该 token 的浏览器身份提交它。
如何在 Netlify Functions 中识别验证码(Node.js SDK)
Netlify 会在 60 秒时停掉同步函数,而且谁也调不高这个上限,可一次识别可能要花好几分钟。本文给出在一次运行里完成识别和提交的后台函数、让 Netlify 的重试变得安全的 Blobs 认领,以及它所连接的 Server 模式设置。
如何在 Node.js 中不借助浏览器识别 Friendly Captcha
Node 的 fetch 不保存 cookie,所以带 CSRF 保护的表单会拒绝一个完全正确的 Friendly Captcha token。本文给出完整的 Node.js 代码:带上这些 cookie,从 script 标签判断是 v1 还是 v2,再把 CapSkip 返回的 token 提交到正确的字段里。










