Тот факт, что вы получаете кучу HTML обратно, говорит о том, что вы неправильно формируете базовый заголовок auth или что имя пользователя, которое вы предоставляете, не распознается. Из вашего примера кода неясно, что это такое, но если бы вы указывали правильно сформированный заголовок аутентификации с неверными учетными данными, вы бы получили ответ 401 Unauthorized
, который класс HttpWebRequest
выбросил бы как исключение.
Две вещи, которые нужно проверить:
Убедитесь, что вы правильно формируете заголовок auth (это почти наверняка, из вашего вопроса не ясно как вы скопировали его из почтальона или попытались сгенерировать его в C #)
Убедитесь, что ваши учетные данные действительны.
Я настроил ваш фрагмент кода так, чтобы он правильно формировал заголовок:
var base64Creds = Convert.ToBase64String(Encoding.ASCII.GetBytes("username:password"));
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = "GET";
httpWebRequest.Headers.Add($"Authorization: Basic {base64Creds}");
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result);
}
Если приведенный выше фрагмент кода не работает с вашим основным именем пользователя и паролем, в качестве крайней меры вы можете попробовать установить альтернативные учетные данные: (https://dev.azure.com/{organisation}/_usersSettings/altcreds) с известной комбинацией имени пользователя и пароля и посмотрите, работает ли это для вас.