Попытка загрузить файл.csv из зарегистрированной веб-учетной записи, которая использует проверку подлинности Windows

using (var client = new WebClient())
{            
    client.UseDefaultCredentials = true;
    client.Credentials = new NetworkCredential("abcd","abcd1234");
    string downloadlink_INC="https://completeurl.com/";
    client.DownloadFile(downloadlink_INC, "downladed.csv");                
}

Попытка загрузить файл.csv из зарегистрированной веб-учетной записи, которая использует проверку подлинности Windows. Но здесь я привел сетевые учетные данные по умолчанию, чтобы позволить тем пользователям, которые не имеют доступа к веб-сайту. Ссылка, которую я передаю, загружает файл.csv из браузера в папку загрузки, но когда то же самое ( https://completeurl.com/) используется через код C#, содержимое представляет собой HTML-код, а не столбцы.

Через C# файл представляет собой не что иное, как HTML-код страницы.

Заранее спасибо!!

Вид заголовка CSV

1 ответ

См. Ответ на аналогичный вопрос: учетные данные домена для класса WebClient не работают

Используя упомянутый ответ, следующий код работал для меня при попытке получить доступ к ресурсу за веб-сайтом, защищенным аутентификацией Windows:

using (var client = new WebClient())
{
    string username = "";
    string password = "";
    string domain = "";
    string downloadlink_INC = "https://completeurl.com/";

    client.UseDefaultCredentials = false;
    CredentialCache cc = new CredentialCache();
    cc.Add(
        new Uri("https://completeurl.com/"),
        "NTLM",
        new NetworkCredential(username, password, domain));
    client.Credentials = cc;

    client.DownloadFile(downloadlink_INC, "downladed.csv");
}

Однако я бы не рекомендовал вам сохранять учетные данные для входа в Windows в исходном коде и распространять двоичный файл, поскольку двоичный файл может быть подвергнут обратному проектированию и раскрытию ваших учетных данных.

Другие вопросы по тегам