Powershell Invoke-WebRequest 是否在下载失败时抛出错误?
Does Powershell Invoke-WebRequest throws error on download failure?
我想知道 Powershell Invoke-WebRequest 是否会在下载请求时抛出客户端错误,例如磁盘已满?
例如:
# Download recording
try {
$ProgressPreference = 'SilentlyContinue'
$r = Invoke-WebRequest -Uri $jwtURL -OutFile $outfile
$a = [int]$r.StatusCode
}
catch {
$a = [int]$_.Exception.Response.StatusCode
}
上面的代码是只获取http状态码,还是在本地文件系统上也会写入错误?
从评论移到这里,因为评论太长了
记住有错误类型。终止和非终止。并非每个错误都会终止,因此您也必须强制执行。
查看这篇文章:Powershell Try Catch Tutorial & Guide
所以,像这个例子:
$url = 'https://whosebug.com'
$req = [system.Net.WebRequest]::Create($url)
try {$res = $req.GetResponse()}
catch [System.Net.WebException]
{$res = $_.Exception.Response}
$res.StatusCode
我想知道 Powershell Invoke-WebRequest 是否会在下载请求时抛出客户端错误,例如磁盘已满?
例如:
# Download recording
try {
$ProgressPreference = 'SilentlyContinue'
$r = Invoke-WebRequest -Uri $jwtURL -OutFile $outfile
$a = [int]$r.StatusCode
}
catch {
$a = [int]$_.Exception.Response.StatusCode
}
上面的代码是只获取http状态码,还是在本地文件系统上也会写入错误?
从评论移到这里,因为评论太长了
记住有错误类型。终止和非终止。并非每个错误都会终止,因此您也必须强制执行。
查看这篇文章:Powershell Try Catch Tutorial & Guide
所以,像这个例子:
$url = 'https://whosebug.com'
$req = [system.Net.WebRequest]::Create($url)
try {$res = $req.GetResponse()}
catch [System.Net.WebException]
{$res = $_.Exception.Response}
$res.StatusCode