私はHttpWebRequestを使用してクロスドメイン(jpnhttps://www.facebook.com/plugins/post/oembed.json/?url=posturl)からjson結果を取得しています。 ContentTypeとAcceptをapplication/jsonに設定しましたが、私はいつもtext/htmlの応答を受け取ります。期待される結果はJSONです。クロスドメインURLを呼び出すときのHttpWebRequestレスポンスは常にtext/htmlです
string result = string.Empty;
var request = (HttpWebRequest)WebRequest.Create("https://www.facebook.com/plugins/post/oembed.json/?url=xxxxxx");
request.ContentType = "application/json; charset=utf-8";
request.Accept = "application/json";
request.Method = "POST";
var response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
は、あなたが得るために 'request.Method'を設定しようとしたことがありますか? – swatsonpicken
@swatsonpickenはHTMLと同じ結果を試しました – James
あなたの質問を編集/更新してレスポンスのHTTPステータスコードの言及を追加するにはhttps://stackoverflow.com/review/suggested-edits/17002205を使用してください。おそらく起こりそうなことは、リクエストに対する応答が200 OKではなく、4xxまたは5xxのエラーメッセージであることです。この場合、応答ボディは、リクエストがあった場合に期待されるJSONの代わりにHTMLエラーページになります成功した。 – sideshowbarker