使用c#下载多个网页的最快方式

本文关键字:方式 网页 下载 使用 | 更新日期: 2023-09-27 18:09:01

这是我目前拥有的一个(基本)示例:

foreach (var uri in uris)
{
    using (var client = new WebClient())
    {
        client.Proxy = null;
        client.DownloadStringCompleted += DownloadComplete;
        client.DownloadStringAsync(uri);
    }
}

有更快的方法吗?

使用c#下载多个网页的最快方式

重要的是使下载并行,由于Async下载,您已经在这样做了。

代码的下载速度完全取决于实际的网络传输速度,所以它是最好的。

我相信如果你将Accept-Encoding header设置为gzip,deflate,如果服务器支持gzip(现代web服务器应该支持),你可以使它更快。

基本的想法是要求服务器在下载之前压缩内容,通常对于一个普通的网页,你可能会得到50%的大小,因此你可以节省50%的时间。

看这个:http://csharpfeeds.com/post/5518/HttpWebRequest_and_GZip_Http_Responses.aspx