【问题标题】:How to make HTTP calls, using ASP.NET MVC?如何使用 ASP.NET MVC 进行 HTTP 调用?
【发布时间】:2015-04-08 01:19:41
【问题描述】:

我想做的事:

我正在尝试从一个简单的 ASP.NET MVC Web 应用程序练习进行 HTTP 调用(...如果是这样的话)。为此,我试图从OpenWeatherMap 获取天气详细信息。你可以这样做:

  • 在 GET 请求中添加以下参数:APPID=APIKEY
    • 示例:api.openweathermap.org/data/2.5/forecast/city?id=524901&APPID=1111111111

我的理解,来自我的学习:

  • 控制器 是进行上述 HTTP 调用的控制器。

我的问题:

  • 如何在 ASP.NET MVC 中实际发出 HTTP GET 请求?

【问题讨论】:

  • 编辑:我知道有很多方法,那么什么是“简单、容易”的入门方法?
  • 如果你的意思是你想从你的代码中进行 HTTP 调用,由你的服务器端应用程序调用,那么请注意,这实际上与 MVC 没有任何关系。任何 .NET 代码都会使用像 HttpClient 这样的对象来发出 HTTP 请求和接收响应。 MVC 是您的代码的前端应用程序宿主,但您说的是可以从任何应用程序宿主调用的后端 .NET 代码。

标签: c# asp.net-mvc


【解决方案1】:

使用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 结果)以确保结果符合您的预期。

【讨论】:

  • 干杯。对我来说主要的“牛肉”是以下几行: var response = await client.GetAsync("google.com"); string content = await response.Content.ReadAsStringAsync(); Console.WriteLine(content);
猜你喜欢
  • 2014-08-16
  • 1970-01-01
  • 2019-08-16
  • 1970-01-01
  • 2016-04-01
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多