【问题标题】:Start-BitsTransfer is ignoring filename when redirectingStart-BitsTransfer 重定向时忽略文件名
【发布时间】:2015-07-13 10:15:11
【问题描述】:

我正在使用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

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

【问题讨论】:

    标签: powershell microsoft-bits


    【解决方案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'
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 问题背后的想法是自动发现文件名
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2013-11-11
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多