我创建了一个系统,用于通过 CURL 从另一个网站自动输入表单。但问题是网站有验证码。
方法我希望我的系统显示以站点形式显示的验证码以手动输入验证码,但是当我选择她的图像验证码验证码时,另一个无法通过表单发送的验证码出现问题。
如何显示以相同形式显示的验证码。
Ps:英文不是我的母语,如有错误请见谅。
通过使用 CAPTCHA 保护表单,作者显然试图让您难以做您正在做的事情,这是有原因的。也就是说,CAPTCHA 旨在防止自动输入。我个人会尊重这一点。
但是,如果您决定继续,我发现重新显示网站内容的最简单方法是提取实际内容本身。因此,使用 cURL 或任何其他首选方法来获取表单的实际 HTML,对其进行解析以获取验证码图像和输入字段名称/ID。显示验证码图像并可能让人工解决它或通过您运行的任何验证码断路器运行它,然后使用输入字段名称/ID 将该解决方案与表单的其余部分一起提交回来。
同样,不要做上述事情,因为这确实是一件不体谅的事情。在您上面的评论中,您说该网站通过 cURL 接受该段落。如果他们确实允许这样做,那么将有一个 URL 连接到该 URL,或者为您提供重新显示的挑战,没有请求 CAPTCHA,或者其他一些类似的机制。这留下了一个选项,即您已获得使用 cURL 作为许可连接到网站的简单功能(它与 cURL 连接与通过 Internet 进行的任何其他连接不同),或者您是该网站的网站管理员通过为像你这样的脚本创建一个实际的界面来连接到需要上球。
无论哪种方式,我相信这里的每个人都会鼓励你成为 InterWebz 的好公民,并坚持不要试图破坏旨在阻止自动化脚本的东西。