PowerShell 测试下载资源是否支持断点续传


现在,很多提供下载的服务器都支持断点续传下载。支持断点续传的资源在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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注