我需要从一个服务器下载1000到2000个网页,使用go协程和通道来实现高效率。问题是每次运行程序时,最多有400个请求失败,并出现“connection reset by peer”的错误。很少情况下(也许10分之1的概率),没有请求失败。
我该怎么做才能防止这种情况发生?
有趣的一点是,当我在与托管网站的服务器在同一个国家的服务器上运行此程序时,0个请求失败,所以我猜测存在延迟问题(因为它现在在不同大陆的服务器上运行)。
我使用的代码基本上只是一个简单的http.Get(url)请求,没有额外的参数或自定义客户端。