【问题标题】:How do i do a request to a third party api? using httpclient我如何向第三方 api 发出请求?使用 httpclient
【发布时间】:2019-03-27 13:26:11
【问题描述】:

目前,我需要集成 CoinGecko API,这是一个免费向公众开放的 API。 (https://www.coingecko.com/api/docs/v3)

HTTP 客户端发送请求但从不返回响应

string BaseUrl = "https://api.coingecko.com/api/v3";

 HttpClient client = new HttpClient();
            client.BaseAddress = new Uri(BaseUrl);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync("/coins/list");
            if (response.IsSuccessStatusCode)
            {
                var data = await response.Content.ReadAsStringAsync();
                var table = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Coins>>(data);
            }

预期的结果是它应该返回硬币列表,但它从来没有。

【问题讨论】:

  • 我去了你给的网址,有些人已经为这个api开发了一个.net客户端,你为什么不直接使用它呢? github.com/tosunthex/CoinGecko
  • @B.Lec 你的建议是我没有看到有 api 的解决方案

标签: c# dotnet-httpclient


【解决方案1】:

将 BaseUrl 更改为:

 string BaseUrl = "https://api.coingecko.com";

以及 GetAsync 调用

HttpResponseMessage response = await client.GetAsync("/api/v3/coins/list");

【讨论】:

    猜你喜欢
    • 2019-12-16
    • 2017-09-20
    • 2016-11-11
    • 2019-08-10
    • 1970-01-01
    • 2022-01-16
    • 2021-05-10
    • 2020-07-20
    • 2020-05-22
    相关资源
    最近更新 更多