多个服务器问题请求

时间:2010-04-22 08:50:06

标签: http request

我有一个包含用户帐户信息的数据库。
我已经安排了一个CRON作业,它根据从帐户中提取的每个新用户数据更新数据库。 我认为这可能会导致问题,因为所有请求都来自相同的IP地址,服务器可能会阻止来自该IP地址的请求。

是这样吗?
如果是这样,我该如何避免被禁止?我应该使用代理吗?

由于

2 个答案:

答案 0 :(得分:0)

cron作业是从同一服务器上的“数据库”中获取数据吗?您是否使用屏幕抓取或某些东西从远程服务器获取用户的数据?

如果是这种情况,您可能需要设置几个不同的cron作业并批量执行。这样,您可以减少远程服务器上的负载量,并降低从中获取此数据的可能性,阻止您访问。

修改

好的,所以如果你没有获得刮刮许可,显然你会想要do it responsibly(无论网站)。尝试从尽可能少的请求收集尽可能多的数据,并在一整天的过程中,甚至在可能是低负载的时间内将它们分散开。我不会尝试使用代理,这对远程服务器没什么帮助,但对你来说会很麻烦。

我不是iPhone程序员,这可能是不可能的,但您可以尝试让各个iPhone抓取数据,这样所有源流量都不是来自同一个IP。只是一个想法,否则只是尝试有点离散。

以下是关于抓取Stack Overflow的Jeff的一些提示,但我认为任何网站的规则都相似。

  1. 使用GZIP请求。这个很重要!例如,一个刮刀在3,310次点击中使用了120兆字节的带宽,这是非常重要的。有了基本的gzip支持(从90年代开始加入HTTP,并得到普遍支持),它将达到20兆字节或更少。

  2. 识别自己。向用户代理添加有用的东西(理想情况下,指向URL的链接或信息性内容),这样我们就可以将您的机器人视为“通用未知”之外的其他内容匿名刮刀。“

  3. 使用正确的格式。当您可以使用JSON或RSS Feed时,请勿抓取HTML。哎呀,为什么要抓什么你可以download our cc-wiki data dump ??

  4. 要体谅。每15分钟抽取一次数据是值得怀疑的。如果你需要更及时的东西......为什么不首先征得许可,并说明为什么这对SO社区有益,应该被允许?我们的电子邮件链接在每个SO系列网站的每个页面的底部。我们不咬......很难。

  5. 是的,您需要一个API。我们明白了。在我们构建它之前,不要做顽皮的事情来对抗机器。它在队列中。

答案 1 :(得分:0)

您因可疑(或恶意)活动而被禁止。

如果您在普通的公司内部网中运行正常的业务应用程序,则不太可能被禁止。

由于您可以访问用户帐户信息,因此您已拥有对系统的大量访问权限。最好的办法是询问您的系统管理员,因为他/她定义了可疑/恶意活动的内容。系统管理员可能还希望帮助您确保数据库至少与原始信息一样安全。

  

我应该使用代理吗?

代理可能伪装你在做什么 - 但你仍然在做。所以这不是解决问题的最道德方式。