简体   繁体   中英

HTTPS GET call using HttpClient

I am getting a 400 bad request trying to call an API using HttpClient and I am not exactly sure what I am missing.

I have tried the endpoint from my browser and from Postman and have not had any issues, but when I try to use the following code I get a 400 bad request:

using (HttpClient client = new HttpClient())
{
    var result = client.GetAsync("https://api.exchange.coinbase.com/products/ETH-USD/candles?granularity=300&start=2022-03-22&end=2022-03-23").Result;
}

Would anyone be able to tell me what I am missing to get this to work?

The request from the original code returns {"message":"User-Agent header is required."} . If it is the case, add user-agent header to fix the problem

using System;
using System.Net.Http;
using System.Net.Http.Headers;

using (HttpClient client = new HttpClient())
{   
    client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(".NET", "6.0"));
    var result = await client.GetAsync("https://api.exchange.coinbase.com/products/ETH-USD/candles?granularity=300&start=2022-03-22&end=2022-03-23");   
    Console.WriteLine(await result.Content.ReadAsStringAsync());
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM