1

我正在使用该Start-BitsTransfer命令在 powershell 脚本中下载远程资源。

但是,当 url 是短 url 时,该命令似乎没有采用正确的文件名。

例如,这些 url:http://ligman.me/1IW1oab实际上重定向到http://download.microsoft.com/DOWNLOAD/D/6/7/D670D322-5771-409E-BF34-5B98496DEB0A/MICROSOFT_PRESS_EBOOK_INTRODUCING_AZURE_PDF.PDF(HTTP 301响应)。

但是当我执行

Start-BitsTransfer http://ligman.me/1IW1oab

结果文件名是1IW1oab

有没有办法使用这个命令并获得正确的文件名?

4

2 回答 2

1

只需使用命令 no 但您可以通过以下方式在拍摄 url 之前解析:

$url = 'http://ligman.me/1IW1oab'    
$WebClientObject = New-Object System.Net.WebClient
$WebRequest = [System.Net.WebRequest]::create($URL)
$WebResponse = $WebRequest.GetResponse()
$ActualDownloadURL = $WebResponse.ResponseUri.AbsoluteUri
$ObjectProperties = @{ 'Shortened URL' = $URL;
                       'Actual URL' = $ActualDownloadURL}
$ResultsObject = New-Object -TypeName PSObject -Property $ObjectProperties
$WebResponse.Close()
$ResultsObject.'Actual URL'
于 2015-07-13T11:08:55.427 回答
0

Start-BitsTransfer 命令包括一个 -destination 开关

Start-BitsTransfer http://ligman.me/1IW1oab -destination AZURE.PDF

通常,对于使用最终 URL 是正确选择的每个“url 缩短”方案,都有一个“安全重定向”方案,可以将完美的 URL 转换为 GUID。

于 2018-12-03T19:24:54.650 回答