这是我目前所拥有的(基本)示例:
foreach (var uri in uris)
{
using (var client = new WebClient())
{
client.Proxy = null;
client.DownloadStringCompleted += DownloadComplete;
client.DownloadStringAsync(uri);
}
}
有更快的方法吗?
答案 0 :(得分:9)
重要的是要并行下载,这要归功于Async下载。
代码的下载速度完全取决于实际的网络传输速度,因此它的效果非常好。
答案 1 :(得分:2)
我相信如果你将Accept-Encoding标头设置为gzip,deflate,如果服务器支持gzip(现代网络服务器应该支持),你可以加快速度。
基本的想法是在下载之前要求服务器压缩内容,通常对于常见的网页,您可以减少50%的尺寸,因此可以节省50%的时间。
看看这个:http://csharpfeeds.com/post/5518/HttpWebRequest_and_GZip_Http_Responses.aspx