1

我获取网页以便将数据提供给我的应用程序。但是,这些页面包含很多我根本不需要的图像。我只需要文本数据。我的问题是网络请求花费了不可接受的时间。我认为图像也是在网络请求期间获取的。有没有办法消除图像并只下载文本数据?

以下是我目前正在使用的代码。

        var httpWebRequest = HttpWebRequest.Create(url) as HttpWebRequest;
        httpWebRequest.Method = "GET";
        httpWebRequest.ProtocolVersion = HttpVersion.Version11;
        httpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
        httpWebRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        httpWebRequest.Proxy = null;
        httpWebRequest.KeepAlive = true;
        httpWebRequest.Accept = "text/html";

        string responseString = null;
        var httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;

        using (var responseStream = httpWebResponse.GetResponseStream())
        {
            using (var streamReader = new StreamReader(responseStream))
            {
                responseString = streamReader.ReadToEnd();
            }
        }

此外,欢迎任何其他优化建议。

4

1 回答 1

5

这是不正确的。
HttpWebRequest对 HTML 或图像一无所知;它只是发送原始 HTTP 请求。

您可以使用Fiddler来查看到底发生了什么。

于 2012-11-28T18:48:04.867 回答