> ## Documentation Index
> Fetch the complete documentation index at: https://help.decodo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 避免验证码

## 什么是验证码？

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

## 什么时候会收到验证码？

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

## 验证码有哪些不同类型？

在浏览网页时，您会遇到许多不同类型的验证码。其中大多数通常需要输入屏幕上显示的某些符号，而其他验证码则需要选择图片或解决谜题。Google 提供了最流行且最常见的验证码，即 [**reCAPTCHA**](https://www.google.com/recaptcha/intro/v3.html)。

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

有许多方法可以识别您是否收到验证码。以下是一些常见迹象：

* 您没有获得请求的内容，或者内容只返回了一部分。
* 您的爬虫/抓取器返回的响应中包含验证码。
* 您的请求超时。
* 您收到的不是 200 HTTP 响应代码，而是 40x、50x 等代码。

## 如何避免收到验证码？

您可能会遇到多种形式的验证码以及触发它们的许多操作组合。这完全取决于您的设置，但以下是使用代理网络时避免验证码的一些通用提示：

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

<Note>
  ### 代理能帮我解决验证码吗？

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

***

<Columns cols={2}>
  <Card title="支持" href="https://direct.lc.chat/12092754" cta="让我们聊聊！">
    需要帮助或只是想打个招呼？我们的支持团队全天候为您服务。 \
    您也可以随时通过电子邮件 [support@decodo.com](mailto:support@decodo.com) 联系我们。
  </Card>

  <Card title="反馈" href="mailto:feedback@decodo.com" cta="分享反馈">
    找不到您要找的内容？请求一篇文章！ \
    有反馈意见？分享您对我们如何改进的想法。
  </Card>
</Columns>
