测试 WebClient API 调用
Test WebClient API call
我有以下 PowerShell 脚本可以进行 API Rest GET 调用。
$FullURL = "http://test.net/config/server/$($env:COMPUTERNAME)?format=test"
$API = New-Object System.Net.WebClient
$APIData = $API.DownloadString($FullURL)
Set-Content -Value $APIdata -Path $APIDataFile -Force
调用取决于 URI 中的本地主机名。它获取数据并导出到文本文件作为备份。问题 - API 主机可能关闭或主机没有可用信息,这将导致脚本中出现各种错误(这是脚本的一小部分,因为它将数据添加到 XML文件)。
如何向脚本添加逻辑以首先测试 API 调用,如果成功则继续进行 API 调用?
它必须适用于 PowerShell 2.0,因为 windows 2003 主机。 API 如果没有数据,则会给出错误 404 代码。
您需要使用 try/catch 块。下载不成功时,WebClient 应引发异常。尝试类似的东西:
$FullURL = "http://test.net/config/server/$($env:COMPUTERNAME)?format=test"
try {
$API = New-Object System.Net.WebClient
$APIData = $API.DownloadString($FullURL)
Set-Content -Value $APIdata -Path $APIDataFile -Force
}
catch [Net.WebException] {
# Do whatever you want if an exception is raised
}
我有以下 PowerShell 脚本可以进行 API Rest GET 调用。
$FullURL = "http://test.net/config/server/$($env:COMPUTERNAME)?format=test"
$API = New-Object System.Net.WebClient
$APIData = $API.DownloadString($FullURL)
Set-Content -Value $APIdata -Path $APIDataFile -Force
调用取决于 URI 中的本地主机名。它获取数据并导出到文本文件作为备份。问题 - API 主机可能关闭或主机没有可用信息,这将导致脚本中出现各种错误(这是脚本的一小部分,因为它将数据添加到 XML文件)。
如何向脚本添加逻辑以首先测试 API 调用,如果成功则继续进行 API 调用?
它必须适用于 PowerShell 2.0,因为 windows 2003 主机。 API 如果没有数据,则会给出错误 404 代码。
您需要使用 try/catch 块。下载不成功时,WebClient 应引发异常。尝试类似的东西:
$FullURL = "http://test.net/config/server/$($env:COMPUTERNAME)?format=test"
try {
$API = New-Object System.Net.WebClient
$APIData = $API.DownloadString($FullURL)
Set-Content -Value $APIdata -Path $APIDataFile -Force
}
catch [Net.WebException] {
# Do whatever you want if an exception is raised
}