2012-03-26 83 views
1

我已经看到下载带有webclient for powershell的文件。问题是请求url在实际文件出现之前多次重定向。它是一个ssrs网页界面,带有查询字符串meathod Download = bla.csv如何使用Powershell在网址重定向时从网上下载文件

任何想法如何实现?

+0

看起来他们隐藏了一些肥皂请求背后的请求 – 2012-03-26 22:01:30

+0

你能举个例子吗? – JPBlanc 2012-03-27 03:04:59

+0

网络请求会返回一个表单自动提交的网页。我可以让powershell提交该表单吗? – 2012-03-27 16:16:26

回答

0

我想你可以在poshcode.org上使用this script或尝试使用System.Net.CookieContainer以避免陷入重定向循环。

0

我有一个类似的场景,我的URL被重定向,然后我们需要下载文件。我所做的是获取重定向的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下载文件。希望这可以帮助。