86

外部ドメインからjsonデータを取得する必要があります。WebRequest
を使用して、Webサイトから応答を取得しました。 コードは次のとおりです。

var request = WebRequest.Create(url);
string text;
var response = (HttpWebResponse) request.GetResponse();

using (var sr = new StreamReader(response.GetResponseStream()))
{
    text = sr.ReadToEnd();
}

jsonデータを取得できない理由を誰かが知っていますか?

4

2 に答える 2

75

一部のAPIでは、必要な応答タイプを取得するために、リクエストに適切な「Accept」ヘッダーを指定する必要があります。

たとえば、APIがXMLとJSONでデータを返すことができ、JSONの結果が必要な場合は、HttpWebRequest.Acceptプロパティを「application/json」に設定する必要があります。

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Accept = "application/json";
于 2011-03-04T18:06:59.483 に答える
70

コンテンツタイプを明示的に要求する必要があります。

次の行を追加します。

 request.ContentType = "application/json; charset=utf-8";
適切な場所で

于 2010-09-16T18:42:30.437 に答える