现在我正在使用这样的一行:(基于其他人在 SO 上讨论的代码)
(New-Object System.Net.WebClient).DownloadFile( $servicePath, $responseFile)
在少数情况下,我$servicePath
会抛出 500。虽然我可以非常巧妙地将这些信息扔到浏览器窗口中,但我更喜欢将其下载(收集以前的事件是件好事,是吗?)到一个文件中并允许其他人参考以后再说。
问题是,我的 try-catch 遇到了 500 异常,我不确定如何捕获 IIS 错误的“黄色文本”。如何使用 PowerShell 2.0 做到这一点?我愿意从 WebClient 切换到其他东西,但我更愿意留在纯 PS 空间中,如果可以的话,不添加新库。
如果我在 powershell ISE 中这样尝试,我会得到以下信息:
$o = @{};
$err = @{};
try {
$o = New-Object System.Net.WebClient;
$o.DownloadFile($servicePath, $responseFile);
} catch {
$err = $_;
}
和
$err.Exception.Message => "The remote server returned an error: (500) Internal Server Error."
如何捕获黄色文本?显然,我的浏览器可以捕获显示给我的黄色文本。我需要使用 HttpWebResponse 什么的吗?