我正在开发一些服务,该服务必须进入我的客户网站并处理其内容。正如你可能理解的那样,我的服务每小时下载数千个URL。其中一些URL来自同一个域。
为了加快进程,我的应用程序包含100个线程。每个线程下载一个URL并处理其内容。
我注意到,在下载网页一段时间后,我的"WebRequest.GetResponse()"被卡住了。超时后,WebRequest抛出timeout Exception(来自所有执行相同工作的线程)。URL有效且可下载(已选中)。
好的,所以我怀疑服务器感觉到机器人在做这项工作,并停止响应它的请求。
解决这种情况的一种方法是使用TOR系统。这将使请求的web服务器像是另一个请求信息的客户端。坏的一面是TOR IP是公共的,一些服务器正在阻止这些IP。因此,对于那些特定的服务器,该解决方案将不起作用。
我正在寻找更好的解决方案,有人吗?
如果您获得了网站所有者的许可,请他将您的IP添加到防火墙/DOS保护中。
如果他已经设置了这个功能,他应该能够将一个IP添加到允许列表