Вызов Api с заголовком, именем пользователя и паролем в C # - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь получить данные из этого API codaBox Я проверил это с swagger , но когда я пытаюсь с Я получаю ошибкукод 401. Я использую правильный заголовок, имя пользователя и пароль.

Я протестировал его с swagger с теми же учетными данными, и у меня есть данные с ним.

try
{
    var byteArray = Encoding.ASCII.GetBytes("Username:password");
    Client.DefaultRequestHeaders.Authorization =
        new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
    Client.BaseAddress = new Uri("https://myurl");

    Client.DefaultRequestHeaders.Add("X-Software-Company", "myToken");
    HttpResponseMessage response = await Client.GetAsync("");
    response.EnsureSuccessStatusCode();
    string responseBody = await response.Content.ReadAsStringAsync();
    // Above three lines can be replaced with new helper method below
    // string responseBody = await client.GetStringAsync(uri);

    Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
    Console.WriteLine("\nException Caught!");
    Console.WriteLine("Message :{0} ", e.Message);
}

Я хотел бы получить код состояния 200.

1 Ответ

0 голосов
/ 08 июля 2019

Вам необходимо заменить "Username:password" фактическим пользователем и паролем, разделенными на: "{your actual username}:{your actual password}"

Также Web - это UTF8 (Ascii иногда работает как подмножество), но не всегда:

var byteArray = Encoding.UTF8.GetBytes("Username:password");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...