2

これは、 httpWebRequest - get error contentという質問に似ています が、回答を期待してさらに情報を提供したいと考えています。

C# を使用して LinkedIn API と統合しています。API に対して無効な呼び出しを行うと、(Fiddler から) 次のような HTTP 応答が返されることがあります。

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 で非常に人気があるようです。これらのレスポンスを取得する方法があることを願っています...

4

1 に答える 1