经常用 WebClient 下载数据的话,会发现一个问题,即第一次启用 WebClient 的实例时,会发现速度非常慢,之后速度才会正常。为什么会出现这种情况?
那是因为 WebClient 的代理设置问题,默认情况下,WebClient 会采用IE的代理模式,而第一次启动时,WebClient 会尝试搜索IE的代理服务器。
就是这SB的搜索才会导致我们第一次启动 WebClient 的时候会严重拖慢速度。
所以怎么办呢?禁掉它呗~
Dim wc As New Net.WebClient()
wc.Proxy = Nothing
wc.DownloadData("....")
这样的话,第一次启动 WebClient 的时候就不会有多余的搜索动作,而是直接可以开始进行数据的下载和上传工作。
另外,如果你使用了多线程进行下载,速度却并没有什么提升,那是因为默认情况下 WebClient 的最大连接数是2,需要你自己手动设置最大连接数。 一行代码就可以解决:
Net.ServicePointManager.DefaultConnectionLimit = 20