Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Приглашаем принять участие в работе над нашей Wiki.
  • Наша рассылка: subscribe.ru, content.mail.ru и Google groups.
  • Есть желающие вести новостную ленту "В мире технологий"?
  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
   Начало   Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: (VBS) Авторизация и скачивание файла  (Прочитано 521 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NotFound
Новенький

ua
Offline Offline

« : 22-12-2011 18:48 » 

Не получается скачать файл именно посредством авторизации. Че надо подкорректировать?
 PS: После загрузки файл должен очистить куки IE и самоудаляться. Без авторизации файл скачать нельзя
 - ошибка в строке objForm.elements("login").value = "pupkin"

Код: (Visual Basic)
 'авторизация
Set objIE = CreateObject("InternetExplorer.Application")
 objIE.Visible = False
 objIE.Navigate "http://ex.ua/login"
 While objIE.Busy
 WScript.Sleep 200
 Wend
 Set objForm = objIE.Document.forms("auth")
 'Set objForm = objIE.Document.forms(0)
objForm.elements("login").value = "pupkin" ' здесь какого-то ошибку выдает, хотя элемент login на сайте есть
objForm.elements("password").value = "bla-bla-bla"
 objForm.submit()
 objIE.Visible = True
 'подключение
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
 oXMLHTTP.Open "GET", "http://fs106.www.ex.ua/get/5dc6f1d8b8d02c4f96f89423d7c50d43/9668687/SPRUT.rar", 0
 'получение файла
oXMLHTTP.Send
 Set oADOStream = CreateObject("ADODB.Stream")
 oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open
 oADOStream.Write oXMLHTTP.responseBody
 'сохранение (с перезаписью файла при необходимости)
oADOStream.SaveToFile "C:\1.7z", 2
 'удаление кук
Const COOKIES = 33
 Set objShell = CreateObject("Shell.Application")
 Set objFolder = objShell.Namespace(COOKIES)
 Set objFolderItem = objFolder.Self
 strPath = objFolderItem.Path & "\*.txt"
 Set objFSO = CreateObject("Scripting.FileSystemObject")
 objFSO.DeleteFile(strPath)
 clearCookies = True 'открыть окно браузера
'удаление скачанного файла
set fso=createobject("scripting.filesystemobject")
 set file1=fso.createtextfile("C:\1.7z")
 file1.close
 set file2=fso.getfile("C:\1.7z")
 file2.delete
« Последнее редактирование: 22-12-2011 18:49 от RXL » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 22-12-2011 19:06 » 

Что это?
objForm.elements("login").value = "pupkin" ' здесь какого-то ошибку выдает, хотя элемент login на сайте есть
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 22-12-2011 19:59 » 

Что-то мне подсказывает, что IE и XMLHTTP создают на веб-сервере 2 разных сессии, следовательно, авторизация в одной из них никак не влияет на другую...
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
NotFound
Новенький

ua
Offline Offline

« Ответ #3 : 23-12-2011 06:27 » 

Что это?
objForm.elements("login").value = "pupkin" ' здесь какого-то ошибку выдает, хотя элемент login на сайте есть
имя формы ввода
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines