Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205

Скачать файл обновления с интернета с предварительной аутентификацией

12.08.2016, 01:12. Показов 1119. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые коллеги.

Сразу оговорюсь, что не пытаюсь ни чего рекламировать - по факту и так понятно: все в сугубо рабочем, черновом состоянии...
Но для полноты картины пару ссылок все же здесь повешу.

Итак, есть готовое практически приложение. допиливаю систему автоматического обновления. Под него поднят сайт на Джумле.

Скачать файл version.txt, разобрать его, сравнить версии и сделать орг.выводы в общем не сложно. И, соответственно, все работает.

Сам файл обновления есть желание скрыть от левых взглядов и попыток скачать. То есть сам раздел на сайте, содержащий материал с вложением, доступен только для зарегистрированных юзеров. Ссылка на материал, дополнительно защищена PHP скриптом. То есть, мало того, что она ведет совсем в другое место от формы аутентификации, так еще и видоизменена.

Иначе файл доступен любому интернет-гуляке по прямой ссылке.

Соответственно, конструкция вида:
VB.NET
1
My.Computer.Network.DownloadFile("http://school-libray.ru/component/jdownloads/send/1-root/3-test-txt", DownPthExe, "User", "TesT_123", False, 10000, True)
просто не работает. Файл пустой в конечной директории создается и все.
Если ввести ссылку на файл в строку браузера - файл грузится, если по контексту "Открыть в новом окне" - вылетает мессага: Неверное перенаправление на странице.

ВОПРОСЫ:
(да простят меня модераторы, что не один вопрос на тему, но они все к одному приводят, не технически, так организационно)
  1. Есть ли возможность, в принципе, скачивать файлы закрытые защитными скриптами PHP (сугубо свои(!) из под своей учетки)?
  2. Может проще организовать форму обновления на подобие минибраузера и по окончании загрузки запускать уже процедуру обновления?
Но первый вариант с одной кнопкой "ОБНОВИТЬ" самый вроде оптимальный...

Все советы, идеи, мысли вслух - бесценны))) Потому благодарен уже заранее.


На всякий случай, вдруг у кого минутка будет глянуть, тестовые логин и пароль к разделу с файлом и ссылки:
Кликните здесь для просмотра всего текста

http://school-libray.ru/download - страница аутентификации

лог: User, пас: TesT_123

http://school-libray.ru/download/1-update - страница публикации,
и соответственно, ссылки на файл генерируемые скриптом:

http://school-libray.ru/compon... 2-test-exe
http://school-libray.ru/compon... 3-test-txt


Добавлено через 19 минут
========================
Сам вот тут подумал.
Возможно поможет разделение процедур 1. аутентификации и 2. скачивания файла.

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

Добавлено через 2 часа 10 минут
Еще одну ночь провел за чтением и понял одно - что тема не подъемная для 1-2-х дней.

Сделал на WebBrowser. Получилось просто - супер гут. не автомат конечно, но - то что надо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2016, 01:12
Ответы с готовыми решениями:

Скачать файл с интернета
Доброго времени суток, форумчане! Я решил написать программу, которая будет скачивать с интернета, но не просто скачал и все, а с...

Скачать файл с интернета
Немогу скачать файл с интернета этим кодом: var FS: TFileStream; begin FS := TFileStream.Create('test.txt', FMCreate); ...

Как скачать файл из Интернета
Я конечно извиняюсь,возможно написал не сюда,но возможно ли прописать в приложение на vb вставку объекта с какого либо сайта. ...

11
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
12.08.2016, 11:18
а в чем проблема автоматизировать сделанный вариант на WebBrowser?
0
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
12.08.2016, 11:24  [ТС]
нехватка знаний, как всегда.
но теперь это уже все поправимо.
0
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
12.08.2016, 11:46
AlexNorton, так спросите что не понятно, разберемся
0
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
13.08.2016, 20:38  [ТС]
Ребят, не сомневаюсь в вашем опыте и благодарен за поддержку.
Обязательно вернусь к этому вопросу немного позже. Слава Богу темы на форумах не исчезают - можно будет поднять вопрос.
0
100 / 95 / 23
Регистрация: 30.08.2015
Сообщений: 457
13.08.2016, 20:57
AlexNorton,
метод
VB.NET
1
My.Computer.Network.DownloadFile
работает только для прямых ссылок
я не знаком с joomla, может существуют методы блокировки к прямым ссылкам
или генерировать временные прямые ссылки
1
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
13.08.2016, 21:54  [ТС]
Попробовал. Однако принципа его срабатывания не догоняю.

Разместил выше всех на форме текстбокс и написал в него - "0"

дальше ход конем:
VB.NET
1
2
3
4
5
Private Sub WebBrowserUpdate_FileDownload(sender As Object, e As EventArgs) Handles WebBrowserUpdate.FileDownload
        Dim i As Integer = 0
        i += 1
        TextBox1.Text = i
    End Sub
В итоге он себя проявляет при показе первой страницы - i становиться = "1" и рисуется в текстбоксе, словно он - WebBrowserUpdate_DocumentCompleted, а после этого ни на переключение страниц, ни на загрузку файла (старт/завершение) не реагирует...

сталкивались с таким?
Миниатюры
Скачать файл обновления с интернета с предварительной аутентификацией   Скачать файл обновления с интернета с предварительной аутентификацией   Скачать файл обновления с интернета с предварительной аутентификацией  

0
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
13.08.2016, 22:09  [ТС]
пробежался по соседним темам - походу использую неверно...
пошел читать))
------------------
вообще - мне про Фому, а я к Ерёме))
0
100 / 95 / 23
Регистрация: 30.08.2015
Сообщений: 457
13.08.2016, 22:27
AlexNorton, вы объявили переменную i локально попробуйте объявить глобально
примерно так
VB.NET
1
2
3
4
5
6
7
Public Class Form1
    Dim i As Integer = 0
    Private Sub WebBrowserUpdate_FileDownload(sender As Object, e As EventArgs) Handles WebBrowserUpdate.FileDownload
        i += 1
        TextBox1.Text = i
    End Sub
End Class
0
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
13.08.2016, 22:32  [ТС]
Ну, в общем, понятно мое рвение перехетрить хитрого)). К сожалению, метод
VB.NET
1
My.Computer.Network.DownloadFile
не подойдет. Даже при известной ссылке (условно даже - прямой). Чтоб скрипт отдал файл с сайта, пользователь должен авторизоваться...
Тут, как ни крути - без разбора страницы и программной авторизации не обойтись просто.

-------------
Мне бы, на данном этапе, событие окончания загрузки файла отловить. А оно работает по не совсем, пока, понятным мне принципам.
Хотя на MSDN пишут:
"Происходит, когда элемент управления WebBrowser выполняет загрузку файла."
пошел разбираться.
0
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
13.08.2016, 22:35
а собственно, зачем это действие? Я может чего не понимаю, но надо ведь просто нажать программно на кнопку скачать?
1
 Аватар для AlexNorton
15 / 15 / 5
Регистрация: 30.04.2016
Сообщений: 205
13.08.2016, 23:19  [ТС]
Цитата Сообщение от densy Посмотреть сообщение
вы объявили переменную i локально
Ох, да же не это самое страшное. Я ей в пределах события сделал
VB.NET
1
i= 0
и она в итоге, раз за разом 0+1 и делала. Спасибо за поправку. Сейчас пошло вроде, но все равно, не то пальто. Она теперь (i, то есть) прирастает за каждым кликом на веб-странице и на каждом ее обновлении ( страницы). И при нажатии на кнопку "скачать" она тоже прирастает, а по окончании загрузки файла остается такой же.
В итоге, реализовать автозапуск файла обновления этими рычагами не получится. Если конечно, не начать тотальную слежку за изменениями на уровне файловой системы)))
Но наверное, проще научиться разбирать веб-страницы и куки, понять Web.HttpRequest и Web.HttpResponse...

Добавлено через 32 минуты
Ребятки! Заработалааааааа!
Как проверял? через зад видимо))

Сейчас несколько раз перепроверил. Причем даже авторизация не нужна! Если через браузер пытаться качать по этой же ссылке - не отдает файл - говорит: "Авторизуйтесь", а с проги все отлично тянет. И все события отрабатывают великолепно!

Поднаторел тут: https://support.microsoft.com/ru-ru/kb/914355

Огромное Вам спасибо за помощь!

Добавлено через 2 минуты
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
а собственно, зачем это действие? Я может чего не понимаю, но надо ведь просто нажать программно на кнопку скачать?
Это я не понимал)))
теперь при таком раскладе с WebBrowser вообще огород городить не стоит. Ну или его оставить на случай "аварийно-ручного" скачивания.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2016, 23:19
Помогаю со студенческими работами здесь

Как скачать файл из Интернета
Народ подскажите как сделать форму на которой будет веб браузер в которой будет кнопка, нажимая на которую браузер передаёт ссылку на...

Как скачать файл из интернета?
Как скачать файл из интернета?

Скачать файл с интернета с использованием c++
Блин, в интернете ничего не найти! Скажите класс, с помощью которого можно скачать файл с интернета или http запросы отправлять. К примеру...

Как скачать файл с интернета
Привет, я с инета качаю файл вот этим кодом: TFileStream* fs = new TFileStream("test.exe", fmCreate|fmOpenWrite); ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru