你是否遇到了 Cloudflare 错误 1015,却不知道如何解决?那么你来对地方了,我将向你展示如何绕过此类错误并重新访问网站。

我见过一些人在正常浏览互联网时被 Cloudflare 错误 1015 阻止。然而,这种情况并不常见。但对于从事网页抓取的人来说,这却是一个常见的问题,并且该错误只出现在受 Cloudflare 保护的网站上。

与其他类型的错误不同,Cloudflare 错误 1015 是一个临时性错误,你很可能在一段时间后重新获得访问权限。但如果你是一个网页抓取者,这就成了一个大问题。因为对于普通互联网用户来说,这种错误通常是对其活动的一种误判,而对于网页抓取和其他形式的自动化操作,这种错误是专门用来阻止你的行为的。

如果你再次尝试进行抓取操作,你还会再次被阻止。这意味着你需要学习如何绕过此错误并防止它再次出现。而我将向你展示如何做到这一点。首先,我们需要了解:什么是 Cloudflare 错误 1015?


什么是 Cloudflare 错误 1015?

Cloudflare 错误 1015 是一种常见于受 Cloudflare 保护的网站的错误消息。它被用作速率限制器,用于防止对其保护的网站的滥用。

Cloudflare 拥有最先进的反垃圾系统之一,受其保护的网站都会利用这一系统。它能够监控和分析流量,以防止滥用行为。通常,它会跟踪用户的请求数量,并使用用户的 IP 地址作为标识符。

网站会设置一个请求限制,这个限制通常以秒或分钟为单位。如果你超过了这个限制,就会被阻止。这些限制由各个网站所有者自行定义,通常基于普通用户的自然操作频率。如果用户超过了请求限制,就会被视为可疑行为,因此会触发速率限制。

虽然你看到的是一个错误消息,但实际上这是 Cloudflare 的一种功能。它通过阻止超过请求限制的用户来保护网站。如果你没有超过请求限制,就不会遇到这个错误。


速率限制是如何工作的?

普通用户每分钟可以发送的请求数量自然是有上限的。以我自己的论坛网站为例,用户访问页面、阅读或浏览,然后转到另一个页面。该网站的性质并不是用户在一分钟内访问 30 个页面。

如果发生这种情况,那么这些请求要么是机器人在背后操纵,要么是其他更危险的因素 — 不管是哪种情况,我都不想处理。但是,根据我网站的实际使用情况统计,假设用户一分钟浏览 10 个页面是完全正常的。

我会将请求限制设置为每分钟 10 页。如果用户在一分钟内浏览超过 10 页,我会在短时间内屏蔽该用户。主要使用的指标是用户的 IP 地址。

但是,网站可以使用其他标识符,例如用户帐户或 cookie。Cloudflare 使用 IP 地址和其拥有的所有其他标识符来限制用户的速率。如果你能够找出限制并避免超出限制,那么你将不会再看到此错误。


如何绕过 Cloudflare 错误 1015

Cloudflare 错误 1015 的一个优点是它可以轻松修复和绕过。下面,我将讨论你可以应用的一些修复方法来绕过 Cloudflare 的速率限制功能。如果你是合法用户,你可以应用其中一些修复方法。但是,对于大多数人来说,只有那些热衷于自动化的人才会愿意付出额外的努力。

要求提高速率限制

如果你是合法用户,并且经常受到网站上的此速率限制错误的困扰,那么你并不是唯一遇到此问题的用户 — 其他用户也是如此。请注意,我经常使用这个词,因为合法用户经常遇到这种情况是配置错误的标志。也许网站所有者/管理员在设置速率限制之前没有充分研究其用户的行为,从而导致合法用户被阻止。

如果你认为情况确实如此,你可以与所有者交谈,讨论问题,并要求他们修复它。大多数网站所有者如果没有怀疑任何事情,都会很快处理这个问题。在某些情况下,你只是不是普通用户,这就是为什么你会看到这个错误——但普通用户看不到。在这种情况下,网站所有者可以排除你看到此错误或增加你自己的限制。但是,如果你使用自动化,这很可能不适合你。

不要超出速率限制

如果你使用机器人访问受 Cloudflare 保护的网站,那么一个既省钱又省时间的简单解决方法就是不要超过请求限制。而唯一能做到这一点的方法就是限制每分钟发送的请求数量。有多种方法可以减少你发送的请求数量。例如,如果你的机器人是多线程的,并且每秒发送的请求数量非常多,你可以减少线程数。

我解决这个问题的另一种方法是在请求之间设置随机延迟时间。但是,如果不知道目标网站的请求限制,就无法以最佳方式执行此操作。我建议你发送多个请求并不断增加数量,直到达到某个限制,一旦达到,你就会看到错误。

尝试多次以达到一个固定的数字。假设每秒 20 个请求会触发此错误,你可以将请求数保持在每秒 20 个以下。这将解决问题。

使用轮换住宅代理

上面讨论的方法是免费的,并且效果非常显著。然而,虽然你不需要花费金钱,但你需要付出时间的代价,因为不超出限制意味着你需要放慢速度,从而拖慢自己和项目的进度。与其选择这种方法,为什么不使用多个 IP 地址,让 Cloudflare 认为你每秒发送的几十或几百个请求是来自不同的电脑呢?

通过代理,你可以获得所需数量的 IP 地址,并根据自定义逻辑轮换它们。然而,这也带来了一些复杂性。为什么不直接使用轮换住宅代理呢?这些代理只需要提供一个代理端点。

但是,每当你发送一个请求时,它会为你分配一个不同的 IP 地址。这确保了你的请求拥有不同的 IP 足迹,从而隐藏了你的活动。我建议使用一些知名提供商的服务,例如 Bright DataSmartproxy

在我们的性能测试中,这些提供商表现最快,提供最高的独特 IP 比率,并且几乎无法被屏蔽。需要注意的是,Bright Data 强制要求进行 KYC(身份认证),而 Smartproxy 对 KYC 的要求则相对宽松,除非它对你的活动产生怀疑。

轮换你的请求头信息

大多数开发自动化工具(如爬虫)的开发者都知道,他们需要使用代理来突破限制并访问地理定位的内容。然而,很多人不知道的是,Cloudflare 不仅仅依赖你的 IP 地址,它还会检查你的请求头信息

在请求头中,有一小段信息被称为 User Agent 字符串。它会告诉目标网站你正在使用的浏览器或客户端软件。此外,请求头中还包含其他信息,例如你访问该网站时的来源页面、浏览器的默认语言、cookies 等。

为了更高效地爬取受 Cloudflare 保护的网站,你需要轮换这些值。我建议你访问一个页面获取大量的 User Agent 字符串列表供使用。然而,需要注意的是,如果你的目标网站根据不同的 User Agent 提供不同版本的页面,那么你需要记录这些差异,并在编写爬虫时,根据所使用的 User Agent 字符串选择相应的解析器。

使用 Web 爬取 API

Web 抓取 API可为你免去避免拦截的负担 — 你只需为成功的 Web 请求付费。使用抓取 API,你可以在发送给 API 的请求正文中指定要抓取的页面,然后你会收到该页面作为响应。

你无需处理拦截和速率限制。在底层,抓取 API 会轮换代理、使用无头浏览器并轮换标头,以免被拦截。它们实际上更擅长避免拦截,尤其是对于 Cloudflare 和 Perimeter X 等第三方反垃圾邮件系统而言。

ScraperAPIScrapingBee是我亲自测试过的最好的工具之一,它们帮助我抓取了数千个页面,并且没有被阻止。这两个工具只对成功的请求收费


结    论

如上所述,Cloudflare 的速率限制是可以绕过的——如果没有必要,你完全不需要降低请求速率。首选的方法是使用轮换住宅代理网络,它会在每次请求时自动更换 IP 地址。然而,如果这种方法不起作用,我建议你使用Web 爬取 API,将避免被封锁的重担交给 API 来处理。

有趣的是,这两种选择都相对便宜,尤其适合中大型项目。

这篇文章有用吗?

点击星号为它评分!

平均评分 / 5. 投票数:

到目前为止还没有投票!成为第一位评论此文章。

No more articles