Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用.net下载部分网页_C#_.net - Fatal编程技术网

C# 如何使用.net下载部分网页

C# 如何使用.net下载部分网页,c#,.net,C#,.net,我们正在使用System.Net.WebClient类下载完整的网页。但我们只需要不到一半的页面。那么,有没有一种方法可以使用.net库下载页面的一部分,比如1/3、一半等,从而节省网络带宽和空间?如果是这样,请抛出您的想法,谢谢。您需要为GET或POST请求提供“接受范围标题”。这可以通过使用HttpWebRequest的AddRange方法完成: HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(

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

您需要为GET或POST请求提供“接受范围标题”。这可以通过使用HttpWebRequest的AddRange方法完成:

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

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

除非web应用程序支持某种方式来根据您希望它返回的内容调整它的响应,否则排序答案是否定的

这可以采取一种

  • 查询字符串参数
  • 标题字段值
添加该参数的最简单方法是查询字符串参数,当检测到该参数时,向响应对象写出必要的HTML。如果您无法更改web应用程序,那么您将无法控制返回给您的页面数量


你可能想了解一下它是如何工作的,因为这个问题和它的答案都依赖于此。具体来说,定义应该很有帮助。

您试图查看的是您自己的网站吗?不过请注意,并非所有服务器都支持“接受范围”标题。如果服务器不支持此功能,它可能只发送整个页面,并且可能返回
400错误请求
。这对我们尝试的服务器不起作用。谢谢你的帮助。