質問の背景:HttpWebRequestは500のステータスコードを返しますが、APIからJSONを返していますか?
私はアズールでホストされていたWeb APIへの簡単なHttpWebRequest
を作るしようとしています。
問題:私は、このようなポストマンなどのブラウザやリクエストツールを使用して、私のWeb APIのエンドポイントにアクセスした場合
私は問題なくJSON
応答を受け付けております。
HttpWebRequest
コールで同じエンドポイントにアクセスしようとすると、致命的なエラー500が発生しますが、Try Catch
の応答プロパティでJSON
の応答が返されていることがわかります。
The remote server returned an error: (500) Internal Server Error.
コード:
次は私が持っているウェブAPIに作っています単純な要求です。 、前に述べたCatch
に応答が示すように、私は、期待JSON
戻っているとおり:
{"ResponseMessage":"OK","ResponseContent:[{"kind":"youtube#playlistItem","etag":"\"gMxXHe- ........ etc }]}
要求:
string url ="http://myapi.azurewebsites.net/api/videos/GetYouTubeVideos";
try
{
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
WebResponse wr = req.GetResponse();
}
catch (WebException wex)
{
var pageContent = new StreamReader(wex.Response.GetResponseStream())
.ReadToEnd();
}
私はAの原因を特定することを理解します500はまっすぐではありませんが、私はこのエラーが表示されますが、まだ例外をスローしているサービスからJSON
を受け取っている理由を誰にでも教えていただけますか? !あなたが世話にする必要がありWebHeaders
に関するいくつかのプロパティがあります
があなたのJSONレスポンスが有効でいますか?あなたが与えたレスポンスは有効ではありません。おそらくサンプルデータを追加したからです.2番目のメソッドコードを追加し、レスポンスメッセージに例外を追加してください! –