我见过使用webclient为powershell下载文件。问题是请求url在呈现实际文件之前重定向多次。它是一个ssrs web界面,带有查询字符串meathod Download = bla.csv
任何想法如何实现这一目标?
答案 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下载文件。希望这会有所帮助。