![]() |
Программа для работы с сайтом
Всем привет! Никогда не делал программы такого направления, но пришлось. Есть сайт http://www.orenfoms.ru/. Необходима программа для работы с этим сайтом. Задача в том чтобы авторизоваться на сайте, и из программы (из полей ввода текста)передать данные в нужные поля которые расположены на странице, и программно нажать кнопку на странице. Все бы ничего, но не могу авторизоваться на сайте, много кодов перепробовал. Подскажите если можете ;-) Заранее спасибо
|
Не получается именно авторизоваться, или же послать запрос на авторизацию?
|
вообще то авторизация, на то и авторизация... обычно все специально предусмотрено так, чтобы ее не реально было пройти автоматически... защищаясь от злодейских ботов или хаков-самоучек :ninja2:
Скорее всего тебе не удастся решить эту проблему программным путем, по крайней мере без содействия разработчиков сайта. Опиши ситуацию по подробнее... может что придумаем |
В общем, так. Везде примеры авторизации с работой PHP страниц, там все в принципе просто, а тут сама кнопка, точнее ссылка Войти - это ява скрипт, я в этом не силен. Есть идея - просто открыть страницу в TWebBrowser, и программно заполнить поля Имя и Пароль, и нажать ссылку Войти. Но как это сделать?
Программу делаю для больницы))) Просто сами понимаете, люди часто ошибаются, вводят не то что надо, потом звонят и говорят что не работает, приходится бежать и объяснять что да как. С программой будет проще, ибо идея в том что как программа откроется, и появляется сразу форма с необходимыми полями для ввода |
Отследите заголовки (в ff c плугином), и делайте такой же запрос своим софтом, принимая кукисы. Думайте на уровне протокола, а не кнопочек...
|
А эти самые юзвери... кроме этого сайта и-нет используют... я имею виду браузерами пользуются...
Если Да, то решение в приципе простое: ты из проги запускаешь браузер с параметрами... (предварительно в браузере, сохранив условия входа на сайт) Delphi - не знаю... пишу на vb.NET у меня это выглядит так: возьмем на примере того-же forum.ozone.net у меня в браузере сохранены условия входа (запомнен пароль и логин) ежели я из проги запускаю процесс с атрибутом URL сайта - то открывается браузер на этой страничке, уже прошедший авторизацию Код:
Dim MyProcess As New Process |
Спасибо! Ну я тут уже кое что намудрил, единственное что интересует теперь, это следующее. Ну допустим на сайте Два поля ввода текста. Как к ним получить доступ зная их имя? Ну вот например,
WebBrowser1.OleObject.Document.all('ctl00$LoginViewCtrl$Login1$UserName').value:='Имя'; - это я пытался заполнить поле для ввода имени. Но не работает. А как правильно надо? |
CJ F.A.N., берёте какой нибудь снифер (браузерный или обычный... не важно). Снифаете данные при нажатии на какой нибудь элемент формы (форма авторизации например). Далее в программе воспроизводите этот запрос с помощью Winsock, WinInet, TNMHTTP, TIdHTTP.
|
|
DedAlex, огромное спасибо, ссылки помогли!
Помогли вот эти процедуры: Код:
function tform1.GetFormByNumber(document: IHTMLDocument2; |
Время: 11:13. |
Время: 11:13.
© OSzone.net 2001-