对数百个网站提出卷曲请求会被某些主机视为攻击吗?

问题描述 投票:1回答:2

有时我们没有我们想要的API,这是其中一种情况。

我想从某个网站提取某些信息,因此我正在考虑通过在我的服务器中使用CRON作业以编程方式对网站内的数百个页面使用CURL请求。

然后缓存响应并在一天或多天后再次触发它。

这可能被视为某种类型的攻击,服务器可能会在很短的时间内从同一服务器IP看到数百个对某些站点的呼叫?

可以说,500卷发?

你会推荐我什么?也许利用curl的sleep命令来卷曲以减少这些请求的频率?

php curl server hosting web-hosting
2个回答
2
投票

在很多情况下,您的脚本最终会被网站的防火墙阻止。如果允许这样做,您可以采取的最佳步骤之一是联系网站所有者并让他们知道您想要做什么。如果不可能,请阅读他们的服务条款,看看是否严格禁止。

如果在进行这些调用时时间不重要,那么,是的,您绝对可以利用sleep命令来延迟每个请求之间的时间,如果您发现需要每秒减少一些请求,我会建议它。


1
投票

你绝对可以做到这一点。但是你应该记住一些事情:

  1. 大多数有能力的网站在其服务条款中都有一个条款,禁止以提供的界面以外的方式使用网站。
  2. 如果网站看到你正在做什么并注意到他们的网络会产生不利影响,他们将阻止你的IP(我们的组织遇到了这个问题,这足以保证我们开发一个记录ips的程序和他们访问内容的速率,然后如果他们试图在几秒钟内访问超过x个页面,我们禁止ip for z minutes),但是你可以通过使用你提到的sleep命令来规避这个问题。
  3. 如果您需要在呈现标记后通过javascript动态加载的页面上的信息,则您从curl请求收到的响应将不包含此信息。对于像这样的情况,有一些程序,如iMacros,允许您在浏览器中编写脚本,以编程方式执行操作,就像您实际使用浏览器一样。

正如@RyanCady所提到的,最好的解决方案可能是联系网站所有者并解释您在做什么,看看他们是否能满足您的要求。

© www.soinside.com 2019 - 2024. All rights reserved.