Как мне выполнить запрос к стороннему api? используя httpclient

#c# #dotnet-httpclient

#c# #dotnet-httpclient

Вопрос:

В настоящее время мне нужно интегрировать 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);
            }
  

Ожидаемый результат заключается в том, что он должен вернуть список монет, но этого никогда не происходит.

Комментарии:

1. Я перешел по указанному вами URL, некоторые люди уже разработали .net-клиент для этого api, почему бы вам просто не использовать его? github.com/tosunthex/CoinGecko

2. @B.Lec ваше предложение было решением, которого я не видел, там был api

Ответ №1:

Измените baseUrl на:

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

и вызов GetAsync для

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