跳转到主要内容

什么是验证码?

验证码是网站所有者用来判断其网站流量是否真实的一种方式。它有助于区分人类流量和虚假流量,在某些情况下,还可以保护数据免受网站爬虫或其他机器人软件的侵害。

什么时候会收到验证码?

触发验证码的方式有很多种。大多数取决于网站的安全性。通常,在网站上填写注册表单、从公共网络访问某些域名、不断刷新同一页面等情况下会遇到验证码。

验证码有哪些不同类型?

在浏览网页时,您会遇到许多不同类型的验证码。其中大多数通常需要输入屏幕上显示的某些符号,而其他验证码则需要选择图片或解决谜题。Google 提供了最流行且最常见的验证码,即 reCAPTCHA

如何通过代码/机器人日志检查是否收到验证码?

有许多方法可以识别您是否收到验证码。以下是一些常见迹象:
  • 您没有获得请求的内容,或者内容只返回了一部分。
  • 您的爬虫/抓取器返回的响应中包含验证码。
  • 您的请求超时。
  • 您收到的不是 200 HTTP 响应代码,而是 40x、50x 等代码。

如何避免收到验证码?

您可能会遇到多种形式的验证码以及触发它们的许多操作组合。这完全取决于您的设置,但以下是使用代理网络时避免验证码的一些通用提示:
  • 如果您使用机器人,请尝试为我们的服务使用不同的端点或轮换端口。
  • 如果可能,尝试在应用程序中随机化您的请求时间。
  • 如果您正在为爬虫/抓取器类型的应用程序编写自定义代码,请确保您有一个包含大量不同用户代理的列表,这将有助于在访问网站时掩盖您的踪迹。用户代理是随请求发送的参数,在访问某个网站时为您提供身份标识。通常,它看起来像这样:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
  • 避免或永远不要在机器人中使用直接链接,这些链接在不查看网站源代码的情况下无法在网站页面上公开访问。
  • 如果可能,通过访问并遵循网站提供的路径来分散您的流量,而不是不断直接请求某个特定链接。
  • 确保限制您的请求,不要对网站造成损害。这将立即触发比您的代码或应用程序准备处理的更多安全功能,例如 Cloudflare 防护。
  • 如果可能,使用 Selenium 等框架提供的无头浏览器。
  • 如果编写自定义代码,请检查您发送和接收的其他标头。有时,请求中使用的某些 HTTP 库可能会暴露您的身份。其他参数(如 cookie)由目标网站发送,以确保您的请求是真实的。
  • 检查网站源代码,确保您的机器人/爬虫等正在渲染所有必要的元素,例如 JavaScript 代码。

代理能帮我解决验证码吗?

如果网站在结账/注册/密码更改表单等页面上提供验证码,即使使用代理也很可能无法避免。对于此类任务,请搜索验证码解决服务或自行解决。代理网络不会影响验证码的出现,绝对不是解决验证码的工具。

支持

需要帮助或只是想打个招呼?我们的支持团队全天候为您服务。
您也可以随时通过电子邮件 support@decodo.com 联系我们。

反馈

找不到您要找的内容?请求一篇文章!
有反馈意见?分享您对我们如何改进的想法。