如何从web服务器请求网页的简化(减少)版本

本文关键字:减少 版本 网页 web 服务器 请求 | 更新日期: 2023-09-27 17:49:43

Q:是否有可能在c#中操作http请求头或使用任何其他技术,当使用c#请求(对yahoo.com/cnn.com等服务器)时,返回的网页文本(流)的大小可以大大减少-一个简化的网页,没有所有其他额外的脚本/图像/css?或者我可以要求只下载我感兴趣的网页的一个小部分?我只需要响应的页面尽可能地最小化,以便在页面可以稍后处理之前尽可能快地下载

如何从web服务器请求网页的简化(减少)版本

这实际上取决于它提供的站点和服务以及它所具有的配置。可能有助于查找的内容(不是完整的列表):

    暴露的API可以让你直接访问数据。例如XML或JSON类型的响应。
  1. 压缩-你的客户端必须通过适当的HTTP头请求,例如Accept-Encoding: gzip, deflate,不用说知道如何相应地处理响应。
  2. 请求移动版本的网站,如果网站支持这样的事情。网站如何公开这样的版本实际上取决于网站。有些url前缀是m.,有些响应User-Agent字符串,有些使用其他策略…
  3. 使用HTTP Range头。也取决于网站是否支持。. net API的MSDN链接。

尝试在HTTP请求头中调整一些浏览器功能,见这里。虽然您的响应会因站点而异,但这是客户端告诉服务器它能够显示和处理的内容的方式。

没有办法通过c#或任何其他语言要求服务器在服务器支持的范围之外呈现不同数量的数据。也就是说,没有通用机制告诉服务器"不要渲染内联CSS/JS/图像"或"不要渲染广告内容",甚至"只给我文章文本"。

许多网站都有"移动"版本,页面大小可能更小,但包含的信息可能与桌面版本不同或更少。您应该能够通过选择不同的url或指定与手机对应的"用户代理"来请求移动版本。

有些网站以RSS源或其他方式自动获取数据-您可能需要与双方核对。

如果您知道要下载的页面的特定部分,您可以使用GET请求的范围头,但它可能不支持动态页面。

指出:-大多数网站将CSS/JS作为单独的文件。-确保检查许可证,看看是否有任何限制在每个网站