当url重定向时,如何使用Powershell从Web下载文件

时间:2012-03-26 20:39:45

标签: powershell webclient

我见过使用webclient为powershell下载文件。问题是请求url在呈现实际文件之前重定向多次。它是一个ssrs web界面,带有查询字符串meathod Download = bla.csv

任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

我认为您可以在poshcode.org上使用this script或尝试使用System.Net.CookieContainer提示,以避免陷入重定向循环。

答案 1 :(得分:0)

我有类似的情况,我的网址被重定向,然后我们需要下载文件。我所做的是获取重定向的URL并解析http地址,并再次使用重定向的URL调用。下面的代码对我有用。

$username = "u"
$password = "p"
$auth=$username+":"+$password
$Encoded = [System.Text.Encoding]::UTF8.GetBytes($auth)
$EncodedPassword = [System.Convert]::ToBase64String($Encoded)
$latestArtifactURL = Invoke-WebRequest $url -Headers @{Authorization = "Basic $EncodedPassword"} -MaximumRedirection 0 -ErrorAction SilentlyContinue
$URLIndex = "$latestArtifactURL".IndexOf('http:')
$redirectedURL = "$latestArtifactURL".SubString("$URLIndex") 
Invoke-WebRequest $redirectedURL -Headers @{Authorization = "Basic $EncodedPassword"} -Outfile "App.zip"

您还可以使用webclient下载文件。希望这会有所帮助。