Я пытаюсь подключиться к rest api, который отправляет ответ json. Когда я копирую вставку URL-адреса в браузере. Браузер открывает всплывающее окно для ввода имени пользователя и пароля..Net rest api call not working
При вводе имени пользователя и пароля (идентификатор активного каталога и пароль) служба отправляет ответ JSON. Http request and Response
Но пытается соединиться с кодом, он возвращает следующую ошибку
{StatusCode: 401, ReasonPhrase: 'Несанкционированное', версия: 1.1, Содержание: System.Net.Http.StreamContent, Заголовки: {Keep-Alive: timeout = 15, max = 100 Подключение: Keep-Alive Дата: ср, 20 апр 2016 11:38:45 GMT Сервер: Apache WWW-Authenticate: Basic realm = "Войти с помощью AD -ENT, но не префикс вашего идентификатора с доменом «
Content-Length: 455 Content-Type: text/html; кодировка = изо-8859-1}}
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(@"http://pro.abc.com/services/");
var authData = string.Format("{0}:{1}","username", "password");
var authHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes(authData));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authHeaderValue);
HttpResponseMessage response = await client.GetAsync("reportpro/reports/11824");
Если вы используете Fiddler для проверки HTTP-потока в обоих случаях, вы обнаружите разницу в HTTP-трафике - это даст вам хорошую идею, где вы ошибетесь. Например, браузер использует POST вместо GET для отправки запроса - трудно сказать, не глядя на основной трафик. – PhillipH
Оба используют Get. пожалуйста, проверьте ссылку на запрос и ответ Http в вопросе –
У вас нет разрешения на доступ к этому URL-адресу. Вот что [401 is] (https://httpstatuses.com/401) – Liam