HttpWebRequest放慢速度,或超时

时间:2013-04-13 17:09:19

标签: c# windows multithreading networking

简介

我正在创建一个抓取代理ips / ports的文件/网站的应用程序。实现完全是异步的,以使其以我想要的速度流动。该应用程序的整个目的是找到“活着”的代理。

要检查代理是否还活着,我正在为某个特定网站制作一个HttpWebRequest,如果成功,它就会活着,如果不是那么死了。

问题

一个例子:

首先运行:

  1. 使用30k代理抓取文本文件。
  2. 为每个代理制作一个HttpWebRequest,以检查它是否“活着”。
  3. 找到30个活着的代理。
  4. 第二轮:

    1. 使用30k代理抓取相同的文本文件。
    2. 为每个代理制作一个HttpWebRequest,以检查它是否“活着”。
    3. 找到0个活着的代理。
    4. 如果我等待大约10分钟,那么第二轮将产生约30个活着的代理。否则它会对它们超时,并将它们标记为死亡。

      正如您可能已经想到的那样,我的问题是为什么第二次运行不会产生相同或接近第一次运行的结果。

      我改变了以下内容:

      ServicePointManager.DefaultConnectionLimit = int.MaxValueServicePointManager.MaxServicePoints = int.MaxValue

      这是我的网络的基本限制,还是其他内容?

1 个答案:

答案 0 :(得分:0)

您确定要关闭第一个网络请求吗?