在 Powershell 中使用密码下载文件

Download Files with Password in Powershell

我需要从网上下载一个51gb的zip文件,打开网站需要输入密码。

我想用 PowerShell(PSVersion:5.1.18362.752) 中的一个函数来做这件事,但我不能再进一步了。我的函数如下所示:

 $securepassword = "thepassword"

function Get-Files {
   
    $Properties = @{
        URI        = "https://theurl"
        Credential = $securepassword
    }
    Invoke-WebRequest @Properties -OutFile "C:\Users$env:USERNAME\Desktop\thefiles.zip"

}

Credential参数只能用于WindowsCredential吗?

非常感谢您的帮助

我认为您使用的凭据有误。凭据不仅仅是密码。是用户名加密码,应该是ICredentials

的实例

请注意,凭据只能以这种方式传递给请求 HTTP 401 身份验证的网页。如果网页使用 form-based 身份验证,您应该按 non-standard 情况处理,凭据将不起作用,您需要 post 数据、保留 cookie 等

$localPath = [System.IO.Path]::Combine(
    [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::DesktopDirectory),
    'OutFileName.zip')

$wc = [System.Net.WebClient]::new()
$wc.Credentials = [System.Net.NetworkCredential]::new($username, $plainTextPassword)
$wc.DownloadFile($uri, $localPath)
$wc.Dispose()