Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 下载前检查下载大小_C#_.net_Asp.net - Fatal编程技术网

C# 下载前检查下载大小

C# 下载前检查下载大小,c#,.net,asp.net,C#,.net,Asp.net,我需要一些方法来检查下载的大小,而不必下载整个文件。我正在使用C#和System.Net.WebClient进行下载。检查需要在asp.Net Web服务中运行 感谢您发出HEAD(而不是GET或POST)请求以仅获取响应标题,这应该包括包含您所需信息的内容长度标题。使用HTTP方法HEAD检索内容长度:标题 HEAD / HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Wed, 18 Mar 2009 11:21:51 GMT Ser

我需要一些方法来检查下载的大小,而不必下载整个文件。我正在使用C#和System.Net.WebClient进行下载。检查需要在asp.Net Web服务中运行


感谢您发出HEAD(而不是GET或POST)请求以仅获取响应标题,这应该包括包含您所需信息的内容长度标题。

使用HTTP方法HEAD检索内容长度:标题

HEAD / HTTP/1.1
Host: www.example.com

HTTP/1.1 200 OK
Date: Wed, 18 Mar 2009 11:21:51 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438 
Connection: close
Content-Type: text/html; charset=UTF-8

您还可以使用HTTP范围标头仅下载所需的内容


如果远程服务器是HTTP 1.1并且正确地支持范围头,那么构建一个支持在远程HTTP资源上查找和读取的HttpRangeStream将非常简单

您好,您可以使用此页面上的代码来实际获取详细信息(对于需要该信息的任何人),前提是存在内容长度标题。你会惊讶有多少网站不提供这些信息,有多少甚至不支持HEAD。你会用什么作为替代品?事实上,在这些情况下,没有替代品。幸运的是,这些病例相当罕见。例如,如果您从其中一个服务器下载内容,您的浏览器不会提供正常的进度条和ETA,而是提供不确定的进度条或微调器。