Skip to main content
 首页 » 编程设计

c#之从通过 HttpWebRequest 请求的网页中省略图像

2024年02月02日30soundcode

我获取网页是为了向我的应用程序提供数据。但是,这些页面包含很多我根本不需要的图像。我只需要文本数据。 我的问题是 Web 请求花费了 Not Acceptable 时间。我认为图像也是在网络请求期间获取的。有没有办法去掉图片,只下载文本数据?

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

        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(); 
            } 
        } 

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

请您参考如下方法:

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

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