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

Posted

技术标签:

【中文标题】url重定向时如何使用Powershell从Web下载文件【英文标题】:How to download file from the web with Powershell when url redirects 【发布时间】:2012-03-26 20:39:44 【问题描述】:

我已经看到使用 webclient for powershell 下载文件。问题是在实际文件出现之前,请求 url 会多次重定向。这是一个带有查询字符串的 s-s-rs Web 界面

知道如何做到这一点吗?

【问题讨论】:

看起来他们将请求隐藏在一些肥皂请求后面 网络请求返回一个带有自动提交表单的网页。我可以让 powershell 提交该表单吗? 【参考方案1】:

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

【讨论】:

【参考方案2】:

我有一个类似的情况,我的 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"

您也可以使用网络客户端下载文件。希望这会有所帮助。

【讨论】:

以上是关于url重定向时如何使用Powershell从Web下载文件的主要内容,如果未能解决你的问题,请参考以下文章

PowerShell URL 从根目录重定向到子目录

从任务计划程序运行时如何重定向 PowerShell 输出?

如何使用 ajax jQuery 重定向指定重定向 url

即使位置 url 被重定向,如何连续执行 web worker 任务?

Django - 从斜杠重定向到非斜杠

如何在不更改web.config文件中的URL的情况下重定向域?