Сайт загрузки консольных приложений получает 401 несанкционированный

#c# #azure-devops

Вопрос:

Дано:
Visual Studio 2019
Windows 10 Pro
Windows 2016 Azure в локальной
компании VPN

Я работаю в VPN своей компании и могу получить доступ к своему веб-сайту Azure DevOps, чтобы просмотреть свои репозитории и сборки в своем веб-браузере.

Я пытаюсь создать консольное приложение (для автоматизации процесса), которое загружает страницу с веб-сайта, извлекает некоторую информацию о состоянии и отправляет по электронной почте заинтересованным сторонам. Затем я запланирую эту задачу в планировщике задач, чтобы часто проверять.

Статус, который я пытаюсь получить в Azure DevOps, заключается в проверке того, запущен ли агент сборки.

Тем не менее, я получаю 401 несанкционированный при попытке использовать WebClient по целевому URL-адресу. Что именно происходит и что мне нужно сделать, чтобы получить доступ?

 private static WebsiteDataModel DownloadWebsite(string websiteURL)
{
    WebsiteDataModel output = new WebsiteDataModel();
    WebClient client = new WebClient();

    output.WebsiteUrl = websiteURL;
    output.WebsiteData = client.DownloadString(websiteURL);

    return output;
}
 

введите описание изображения здесь

Комментарии:

1. Попробуйте зайти на страницу DevOps в окне инкогнито: возможно, вам потребуется войти в систему. Если нет, то у вас может быть корпоративный прокси-сервер для вашего браузера, который обходит аутентификацию. Возможно, вам потребуется указать прокси-сервер в вашем веб-клиенте на C#.

2. URL-адрес сайта, к которому вы обращаетесь с помощью кода, требует ли он аутентификации?

3. Я бы рекомендовал поискать возможности API, если таковые имеются, чтобы получить информацию, которую вы ищете. В противном случае это скорее автоматизация пользовательского интерфейса, которая была бы слишком тесно связана с тем, как сегодня разработан веб-сайт

4. docs.microsoft.com/en-us/rest/api/azure/devops/…

5. Агент сборки является интерактивным, и при перезапуске сервера он не перезапускает агент автоматически. Я знаю, что есть возможность перезапустить агент после перезапуска, но он не работает по какой-то неизвестной причине (угадывание разрешения), отсюда и этот пост.