C# ASP.NET-获取Web请求API

C# ASP.NET-获取Web请求API,c#,asp.net,api,C#,Asp.net,Api,我不熟悉API,所以我一直在尝试使用web请求从Reddit获取信息,因为API已解锁。我已经能够使用REST客户机扩展使用正确的URL来获取信息,但我想实现数据体,只需将其打印到web页面即可 我知道python更容易做到这一点,但他们在我的工作中使用C#/ASP.NET。我看过一些教程,例如: 当我使用本教程时,我只能获得标题,我的代码是: using System; using System.Collections.Generic; using System.Linq; using Sy

我不熟悉API,所以我一直在尝试使用web请求从Reddit获取信息,因为API已解锁。我已经能够使用REST客户机扩展使用正确的URL来获取信息,但我想实现数据体,只需将其打印到web页面即可

我知道python更容易做到这一点,但他们在我的工作中使用C#/ASP.NET。我看过一些教程,例如:

当我使用本教程时,我只能获得标题,我的代码是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

namespace API_TESTING
{
    class Product
    {
        public string Name { get; set; }
        public double Price { get; set; }
    }
    class Program
    {
    static void Main()
    {
        RunAsync().Wait();
    }

    static async Task RunAsync()
    {
        using(var client = new HttpClient())
        {
            //TODO - send HTTP requests
            client.BaseAddress = new Uri("http://www.reddit.com/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            //-----
            HttpResponseMessage response =  await client.GetAsync("r/todayilearned/new.json");
            if(response.IsSuccessStatusCode)
            {
                Console.Write(response);

            }

        }
    }
}
}

有人能解释一下如何使用ASP.NET进行API调用吗?或者链接到其他最新教程?多谢各位

你就快到了。收到回复后,您需要阅读其内容

var response = await _client.GetAsync(uri);
if (response.IsSuccessStatusCode) {
    var result = await response.Content.ReadAsStringAsync();
    Console.WriteLine(result);
}
您可能想查看RedditSharp项目,看看其他人是如何做到这一点的。
顺便说一句,您链接到的教程几乎完全符合我在获取资源(HTTPGET)部分的回答。唯一的区别是它们使用了通用的
ReadAsAsync
,而如果您只是将正文写入控制台,则可以使用
readastringasync

您的问题是什么。你遇到异常了吗?输出是否与您期望的不同?包括样本实际输出和预期输出。你应该在问题中包含这些信息,而不是我们向你索取。我提到我只得到标题作为我的输出。我想我没有明确表示我的目标是获取web API get调用的body/json。对不起,非常感谢。该程序在网页上的工作方式是否类似?@user3704986从c#中使用该程序的任何地方都可以工作。我建议将所有Reddit代码转移到一个单独的项目中,这样您就可以重用它了。这样,您只需编写一次,相同的代码就可以用于您的控制台应用程序和web应用程序。与其将结果写入控制台,不如将内容作为字符串返回,以便不同的客户端可以以自己的方式对响应作出反应。