#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");