【问题标题】:how to download a partial web page using .net如何使用 .net 下载部分网页
【发布时间】:2011-11-01 21:33:59
【问题描述】:

我们正在使用 System.Net.WebClient 类下载完整的网页。但是我们只想要不到一半的页面。那么有没有办法使用.net库下载页面的一部分,比如页面的1/3、一半等,这样我们就可以节省网络带宽和空间?如果是这样,请提出您的想法,谢谢。

【问题讨论】:

  • 您要查看的是您自己的网站吗?

标签: c# .net


【解决方案1】:

您需要为 GET 或 POST 请求提供“Accept-Ranges 标头”。这可以通过使用 HttpWebRequest 的 AddRange 方法来完成:

HttpWebRequest myHttpWebRequest = 
    (HttpWebRequest)WebRequest.Create("http://www.foo.com");
myHttpWebRequest.AddRange(0,100);

这将产生前 100 个字节。但是,服务器需要支持这一点。

【讨论】:

  • 虽然请注意并非所有服务器都支持“Accept-Ranges”标头。如果服务器不支持这一点,它可能只会向您发送整个页面,并且可能会返回 400 Bad Request
  • 这对我们正在尝试的服务器不起作用。感谢您的帮助。
【解决方案2】:

除非网络应用程序支持某种方式来定制它对您希望它返回的内容的响应,否则排序答案不会。

这可以采用

的形式
  • 查询字符串参数
  • 标头字段值

添加它的最简单方法是查询字符串参数,并在检测到时将必要的 HTML 写入响应对象。如果您无法对网络应用进行更改,那么您将无法控制返回给您的页面量。

您可能想了解HTTP 的工作原理,因为问题和答案都依赖于此。具体来说,Header 定义应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 2017-08-10
    • 1970-01-01
    • 2017-01-13
    • 2014-04-15
    • 2010-10-30
    相关资源
    最近更新 更多