авторизация на www...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

авторизация на www...

Сообщение skulida » 26.10.2003 (Вс) 12:00

..начинаю изучать VB. Много вопросов...может кто-подскажет как можно программно авторизоваться на удаленном компьютере, зная логин и пасворд. Т.е. имеем http://www.dp.ru/main.php?page=66&printable='Y' страницу, которая предлагает ввести имя пользователя и пароль, после чего отрывает нужное содержимое.
Я пробую загружать через функцию DownloadFile, а также используя контрол WebBrowser. Как можно автоматизировать ввод пароля и имя пользователя.

и еще простой вопрос : как програмно нажать последовательность клавиш на активном (не активном) окне..
??? спасибо..

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 26.10.2003 (Вс) 14:50

1) Программную авторизацию можно провести зная идентификатор окна и посылая в него клавиатурные команды.
Последовательность клавиш в окно своего приложения посылается функцией SendKeys. Например, ты хочешь послать комбинацию "Ctrl+Alt+Shift+ENTER+V"
Код: Выделить всё
SendKeys "^%+{ENTER}{V}"

В окно другого приложения - SendMessage, милости просим.
Код: Выделить всё
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Чаще всего используются следующие сообщения:
Const WM_KEYUP = &H101
и
Const WM_CHAR = &H102

Для использования функции API SendMessage нужно знать handle (хэндл или дескриптор, уникальный идентификатор окна приложения) окошка необходимой проги. Для поиска окна по названию используй FindWindow:
Код: Выделить всё
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Совет: многие функции реализуются через Win32 API, купи книжку "WIN32API и Visual Basic", Дан Эпплман, СПб:Питер, 2001. CD прилагается. Там есть куча готовых примеров С ПОЯСНЕНИЯМИ :wink:!

Примерчик из этой книжки прилагается.

И напоследок: если не секрет, что за программу ты пишешь :?: :?: :?:
Вложения
simkeys.rar
Simulate Keys + Mouse Events - пример посылки сообщений через API
(3.89 Кб) Скачиваний: 62
Моду создают модоки, а распространяют модозвоны.

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 26.10.2003 (Вс) 16:27

hCORe

да какой тут секрет....
для начала необходимо сохранять содержимое этой страницы на диск без участия пользователя и ежедневно, посколку оно ежедневно меняется..

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 26.10.2003 (Вс) 16:46

Что, хочешь что-нибудь типа WatzNew (http://www.watznew.com) сделать? (т.е. следилку за новостями, которая регулярно качает данные, используя имя пользователя и пароль, а потом формирует отчет - новости текущего дня и т.п). Если да, то здорово! Я буду первым пользователем и тестером :wink:
Моду создают модоки, а распространяют модозвоны.

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 26.10.2003 (Вс) 17:14

[quote="hCORe"][/quote]
..да... как все сложно...ну а если взять мой конкретный случай, где нет других окон программы кроме как окна рабочей с формы с элементом вебброузера, куда я загружаю страницу html, где (внутри страницы) есть оконко для ввода логина и пасворда..как можно сделать эти окошки последовательно активными и передать туда пользователя и пароль и нажать интер для загрузки. Я пробовал спускать туда tab'ом, но он не проходит через эти поля???

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 26.10.2003 (Вс) 17:16

hCORe писал(а):Я буду первым пользователем и тестером :wink:

...:). А как насчет помочь?

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 27.10.2003 (Пн) 11:13

Комплементарно, Ватсон!
http://login:password@www.dp.ru/main.php?page=60
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 27.10.2003 (Пн) 17:03

MEMBER

неа...так не работает..

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 27.10.2003 (Пн) 17:13

Как так? Куда вы эту строчку вписывали?
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 27.10.2003 (Пн) 17:26

MEMBER

..пока я ее никуда не вписывал, а занес в поле адрес стандартного виндового броузера, поменяв, соответственно, логин и пасворд...
Он возвращает эту же страницу (авторизация) ..

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 27.10.2003 (Пн) 17:37

http://www.dp.ru//main.php?action=login ... d=PASSWORD
Всё что большими буквами - заменить.
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 27.10.2003 (Пн) 23:57

Даа... Ошибка авторитизации! Йо...ться "Делавой Петрбупр"
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 28.10.2003 (Вт) 13:51

MEMBER писал(а):Даа... Ошибка авторитизации! Йо...ться "Делавой Петрбупр"

...так а что делать то??

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 28.10.2003 (Вт) 16:33

Ничего не делать. Естественно, если в качестве LOGINa использовать LOGIN, а в качестве PASSWORDa - PASSWORD, то будет ошибка авторизации. У вас-то и логин и пароль правильные.
Вопрос в том, что сайт именующий себя Деловым Петербургом, мог-таки нанять корректора для проверки текста, а то авторитизация это как-то не по деловому. Делавыйе портнеры могут нипанять. :)
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 28.10.2003 (Вт) 17:04

MEMBER писал(а):Ничего не делать.:)


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

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 28.10.2003 (Вт) 17:56

Ну, единственное что могу предложить - давайте ваш логин и пассворд, буду проверять. Может вы их с ашипкой пишете.
Еще через Winsock можно попробовать. Но это лишнее, скорее всего проблема именно в ошибке написания логина или пароля. А может у вас подписка закончилась?
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 7

    TopList  
cron