может приложение автоматически, содержащий управляющие WebBrowser загрузки файлов с помощью подмены поведение браузера?

голоса
0

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

Ну, так что это заставляет меня задаться вопросом о нижележащих механике всего этого. Прежде всего, может быть, я использую WebClient в неправильном направлении? Или, может быть, есть какой-то другой стандарт C # класса для загрузки файлов в таких обстоятельствах?

Если нет, то возможно приложение для подмены поведения браузера так, что сервер будет думать, что запрос на файл пришел от него, несмотря на то, что на самом деле происходит из другой части того же процесс? Что именно это браузер делает в этой ситуации, что позволяет ему загружать файлы в то время как WebClient не может сделать это?

Задан 18/07/2010 в 01:08
источник пользователем
На других языках...                            


2 ответов

голоса
2

Если вы когда - либо хотите , чтобы понять разницу в том, что две сетевые программы делать, вы должны смотреть на сетевой трафик. Использование Fiddler или что - то подобное , чтобы увидеть , что делает каждая программа, а затем сравнить два.

Ответил 18/07/2010 в 04:23
источник пользователем

голоса
1

Как правило, это было связано с печеньем, или другой запрос HTTP заголовков, что ваш браузер посылает. Веб-сервер не может отличить б / ва человека управляемый веб-браузер, или код контролируемых «WebClient» до тех пор, как они посылают те же заголовки.

В «сеансе» аутентификация человека инициативы (входящее имя пользователя / пароль), как правило, вызывают некоторые куков, посылаемый с сервера в браузер, и вы продолжаете быть «вошел в системе», а ваш браузер поддерживает отправку эти файлов обратно на сервер при выполнении последующих запросов ,

Таким образом, если ваш WebClient может послать (пост?) Учетные данные правильно, и продолжать с хранением и повторной отправки куки (и / или «ссылающаяся» / «User-Agent» заголовки) в случае необходимости, оно не должно быть какой-либо иной (в конец это просто просить, и ответ цепь HTT-протокол).

Там может быть сейф-охранники в частности «контроль» вы используете, чтобы предотвратить (или API) от использования вредоносных программ, хотя. «Программа пытается отправить электронную почту от вашего имени, вы уверены, что вы хотите разрешить это?» приглашение, и сопровождающая 5-секундная задержка в MS Outlook такого пример. Таким образом, если конкретный API вы используете имеет этот вид проворные / мер предосторожности, вы можете не заботиться о вещах совершенно бесшумно.

Ответил 18/07/2010 в 03:40
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more