在 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()
我需要从网上下载一个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()