предположим, что я хочу автоматически загрузить файл с URL-адреса, который находится на веб-сайте, необходимом для аутентификации, на который я вхожу, используя автоматический контроль WebBrowser на основе Internet Explorer. Но как только я попаду туда и возьму ссылку на файл, если я попытаюсь загрузить его напрямую через IE6, перейдя к нему, появится модальное диалоговое окно «Хотите открыть или сохранить этот файл». И если я попытаюсь загрузить его с помощью класса C # WebClient, это не сработало, все, что было загружено, было коротким фрагментом бессмысленного JavaScript. На самом деле, из любопытства я протестировал метод WebClient на сайте Gmail, пытаясь загрузить вложения, но он тоже не работал (я знаю, что из Gmail я могу получить их через интерфейс POP3, это был просто эксперимент).
Ну, это заставляет меня задуматься об основной механике всего этого. Прежде всего, может быть, я неправильно использую WebClient? Или, может быть, есть какой-то другой стандартный класс C # для загрузки файлов при таких обстоятельствах?
Если нет, то может ли приложение подделать поведение браузера, чтобы сервер подумал, что запрос на файл поступил от него, даже если он на самом деле поступает из другой части того же процесса? Что именно делает в этой ситуации браузер, позволяющий загружать файлы, а WebClient не может этого сделать?