Как получить ответ json с помощью system.net. webrequest в c#?
Мне нужно получить данные json из внешнего домена. Я использовал webrequest, чтобы получить ответ от веб-сайта. Вот код:
var request = WebRequest.Create(url);
string text;
var response = (HttpWebResponse) request.GetResponse();
using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}
кто-нибудь знает почему я не могу получить JSON-данные?
2 ответа:
вам нужно явно запросить тип контента.
добавить эту строку:
в нужном местеrequest.ContentType = "application/json; charset=utf-8";
некоторые 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";