这类似于此处提出的问题:httpWebRequest - 获取错误内容 ,但我希望提供更多信息以期获得答案。
我正在使用 C# 与 LinkedIn API 集成。当我对 API 进行无效调用时,它可以返回如下 HTTP 响应(来自 Fiddler):
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
x-li-request-id: VL2EER2ROJ
Date: Tue, 16 Oct 2012 08:52:59 GMT
Vary: *
x-li-format: xml
Content-Type: text/xml;charset=UTF-8
Content-Length: 266
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<status>404</status>
<timestamp>1350377580000</timestamp>
<request-id>VL2EER2ROJ</request-id>
<error-code>0</error-code>
<message>Could not find member {/people/XXXXXX}</message>
</error>
我特别想了解错误 xml,但是 HttpWebRequest 似乎只是抛出异常,然后与内容无关。在我的调试器中,我可以看到内容长度为 266,但任何尝试调用都会(System.Net.WebException).Response.GetResponseStream()
导致stream was not readable
异常。
这种在非 200 HTTP 状态响应中返回错误消息的方法在 Web API 中似乎很流行——我希望有一种方法可以得到这些响应......