Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下载数千个URL_C#_Httpwebrequest_Httpwebresponse - Fatal编程技术网

C# 下载数千个URL

C# 下载数千个URL,c#,httpwebrequest,httpwebresponse,C#,Httpwebrequest,Httpwebresponse,我正在开发一些服务,必须进入我的客户网站,并处理它的内容。正如您可能了解的,我的服务每小时下载数千个URL。其中一些URL来自同一个域 为了加快进程,我的应用程序包含100个线程。每个线程下载一个URL并处理其内容 我注意到在下载网页一段时间后,我的“WebRequest.GetResponse()”被卡住了。超时后,WebRequest抛出超时异常(来自所有执行相同工作的线程)。URL有效且可下载(选中) 好的,我怀疑服务器感觉到机器人在做这项工作并停止响应它的请求 这种情况的一种解决方案是使

我正在开发一些服务,必须进入我的客户网站,并处理它的内容。正如您可能了解的,我的服务每小时下载数千个URL。其中一些URL来自同一个域

为了加快进程,我的应用程序包含100个线程。每个线程下载一个URL并处理其内容

我注意到在下载网页一段时间后,我的“WebRequest.GetResponse()”被卡住了。超时后,WebRequest抛出超时异常(来自所有执行相同工作的线程)。URL有效且可下载(选中)

好的,我怀疑服务器感觉到机器人在做这项工作并停止响应它的请求

这种情况的一种解决方案是使用TOR系统。这将使被请求的web服务器看起来像是另一个请求信息的客户端。坏的一面是IP是公共的,一些服务器正在阻止这些IP。因此,对于那些特定的服务器,解决方案将不起作用


我正在寻找更好的解决方案,有人吗?

如果您获得网站所有者的许可,请让他将您的IP添加到防火墙/DDoS保护中


如果他已经设置了此功能,他应该能够将IP添加到允许列表中

不要爬网该服务器,或者更好,首先向该服务器的管理员请求许可?因此,你怀疑网站所有者不希望你下载他的数据,而你想办法绕过它?绝对不!该网站的所有者允许我做这项工作。服务器本身具有保护服务器不被洪水淹没的机制。此机制在服务器中自动工作。我很抱歉,我不希望该网站的所有者对其服务器进行任何更改。因为,在大多数情况下,他都不知道该怎么做。然后和管理员一起工作,授权你的客户下载你所需要的内容。通过代理只会带来新的问题。所以不要一次提出这么多的请求了?在100个线程上下载不太可能加快进程,除非你有很多带宽可以利用。