2015-04-08 3 views
1

То, что я пытаюсь сделать:Как сделать HTTP-вызовы, используя ASP.NET MVC?

Я пытаюсь практика делает HTTP звонки (... если это то, что это называется) с помощью простого веб-приложения ASP.NET MVC. Для этого я пытаюсь получить информацию о погоде от OpenWeatherMap. Вы можете сделать это:

  • Добавьте следующий параметр в запрос GET: APPID = APIKEY
    • Пример: api.openweathermap.org/data/2.5/forecast/city?id= 524901 & APPID = 1111111111

Мое понимание, из моего обучения:

  • контроллер это один сделать выше HTTP вызова.

Мой вопрос:

  • Как я на самом деле сделать это HTTP GET запрос, в ASP.NET MVC?
+0

EDIT: Я понимаю, что существует много способов, так что же «простой, простой» способ начать? – daCoda

+1

Если вы хотите, чтобы вы делали HTTP-вызовы из своего кода, вызывается вашим серверным приложением, тогда обратите внимание, что это действительно не имеет ничего общего с MVC. Любой .NET-код будет использовать объекты, такие как 'HttpClient', для создания HTTP-запросов и получения ответов. MVC - это хост-интерфейс для вашего кода, но вы говорите об обратном .NET-коде, который может быть вызван с любого хоста приложения. – David

ответ

5

System.Net.Http.HttpClient.

Вы можете сделать некоторые основные чтение с веб-сайта, используя что-то вроде следующего:

using (var client = new HttpClient()) 
{ 
    var uri = new Uri("http://www.google.com/"); 

    var response = await client.GetAsync(uri); 

    string textResult = await response.Content.ReadAsStringAsync(); 
} 

Вы можете хотеть, чтобы убедиться, чтобы проверить response.IsSuccessStatusCode (чеки для HTTP 200 результат), чтобы убедиться, что результат является то, что вы ожидаете, прежде чем разбирать его.

+0

Cheers. Главной «говядиной» для меня были следующие строки: var response = wait client.GetAsync («http://www.google.com»); Строковое содержимое = ожидание ответа.Content.ReadAsStringAsync(); Console.WriteLine (контент); – daCoda

Смежные вопросы