现在,很多提供下载的服务器都支持断点续传下载。支持断点续传的资源在PowerShell中最直接的表现就是:使用BITS transfer等命令下载时,可以用Suspend-BitsTransfer 和 Resume-BitsTransfer 这两条命令,暂定和恢复下载。不幸的是仍然有部分网站不支持断点续传功能。那怎样能未雨绸缪,测试下载资源是否支持断点续传?
在HTTP请求响应的头(headers)中,有一个字段“Accept-Ranges“,如果服务器不支持断点续传时,这个字段会被设置为“None”。下面的函数会帮助我们测试下载资源是否支持断点续传。
Function Test-ResumableDownload { param ( [String]$url ) $request = [System.Net.WebRequest]::Create($url) $request.Method = "GET" $result = $request.GetResponse() $result.Headers["Accept-Ranges"] -ne "none" }
我们可以在使用Start-BitsTransfer命令开始下载之前测试一下,服务器是否支持断点续传,这样也就知道了下载过程中是否可以暂停。
以上内容引用自Ravikanth的文章Test if a download can be suspended and resumed
本文链接: https://www.pstips.net/test-resumabledownload.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!