powershell - Powershell Invoke-WebRequest 在下载失败时会抛出错误吗?
问题描述
我想知道 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 教程和指南
所以,像这个例子这样的东西:
$url = 'https://stackoverflow.com'
$req = [system.Net.WebRequest]::Create($url)
try {$res = $req.GetResponse()}
catch [System.Net.WebException]
{$res = $_.Exception.Response}
$res.StatusCode
推荐阅读
- c++ - OpenSSL 生成 ED25519 密钥对 C++
- python - 在另一个 csv 文件中查找一个 csv 文件的值,如果找到值,则将值写入另一个 csv
- caddy - 如何使用 Caddy 代理另一个站点?
- powerbi - Power BI:如何合并特定表
- c# - 如何使用 C# 映射反序列化 XML 文档
- reactjs - 如何修复 React Hook useEffect 缺少依赖项
- ruby-on-rails - Rails bundler——如何指定一个你还没有安装的 ruby 版本
- c# - 将四个 Unity 项目合二为一,处理重复脚本
- wordpress - 我如何使用自定义名称作者添加评论(管理面板)
- php - 使用 AJAX 和模式从 PHP 更新 MySQL 记录