我做的是抓取文件/網站的代理IP /端口的應用程序。該實現純粹是異步的,以使其以我想要的速度流動。該應用程序的全部目的是找到「活着」的代理。
要檢查一個代理是否還活着,我正在爲一個特定的網站製作一個HttpWebRequest
,如果成功,它還活着,如果不是那麼死了。
的問題
一個例子:
首先運行:
- 爬行與30K代理的文本文件。
- 與每個代理進行
HttpWebRequest
檢查它是否「活着」。 - 查找30個活着的代理。
第二輪:
- 爬與30K代理同一個文本文件。
- 與每個代理進行
HttpWebRequest
檢查它是否「活着」。 - 找到0個代理,它們還活着。
如果我等待大約10分鐘,那麼第二次運行將產生大約30個活躍的代理。否則它會暫時超時,並將其標記爲死亡。
正如你可能已經想通了,我的問題是爲什麼第二次運行不會產生相同或接近第一次運行的結果。
我已經改變了以下內容:
ServicePointManager.DefaultConnectionLimit = int.MaxValue
,並ServicePointManager.MaxServicePoints = int.MaxValue
這是我的網絡的一個基本的限制,或者是別的東西玩嗎?
如果您使用3rd/4th/5th/...請求,結果如何?這個問題是否解決了手/端口異常? – Gusdor