我有一个我正在尝试测试的API。 API会返回有关错误的特定注释。
示例:
<errors>
<error>distance.out.of.range</error>
</errors>
在Chrome或Firefox中查询API时,我会看到此XML。
但是,当使用IE或Powershell(WebClient和WebRequest)查询时,我只能看到“400”异常。我找不到XML钻取到异常中。
使用try / catch处理异常很好,但我错过了解失败查询的细节。我怎样才能找到XML?
答案 0 :(得分:0)
尝试将调用的输出混洗到对象中,并查看该对象是否具有包含错误的属性。
$MyApiCall = New-WebRequest
答案 1 :(得分:0)
我认为您必须从异常对象
中读取流$req = [system.Net.WebRequest]::Create($url)
try {
$res = $req.GetResponse()
} catch [System.Net.WebException] {
$res = $_.Exception.Response
}
$ res将有一个名为GetResponseStream()的方法,您可以使用它来读取数据。
答案 2 :(得分:0)
我建议您抓取Fiddler并检查适用于Chrome的请求,然后检查PowerShell失败的请求。这可能只是提供正确的标题。