简体   繁体   中英

Unauthorized access API

I'm trying to access an API via C# but it's giving an UNAUTHORIZED error, I've tried it with the CURL command in CMD it's working, but in C# code it doesn't work, what's wrong:

try
{
    using (var httpClient = new HttpClient())
    {
        using (var request = new HttpRequestMessage(new HttpMethod("GET"), "https://services.efatura.cv/v1/dfe/pdf/CV1220223253095794000010100000000184794720477"))
        {
            request.Headers.TryAddWithoutValidation("accept", "application/xml");
            request.Headers.TryAddWithoutValidation("cv-ef-repository-code", "1");

            request.Headers.TryAddWithoutValidation("Authorization", "Bearer //BearerToken here//");

            var response = await httpClient.SendAsync(request);
            var contents = await response.Content.ReadAsStringAsync();
        }
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

I'm guessing that your code is exactly the same as your snippet here. In that case you need to actually add a bearer token in the Authorisation header.

Usually you can get the bearer token through another GET endpoint with a username and password. Alternatively you can try to use another form of API authorisation if possible.

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