Заполнение WEB формы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Заполнение WEB формы

Сообщение bloodlines » 18.01.2012 09:24:59

Доброго времени суток, уважаемые знатоки!
Есть такая задача :
Необходимо перейти на некоторый URL, заполнить форму логина и пароля, нажать на кнопку авторизации, на открывшейся странице скачать файл по ссылке. Все действия должны происходить автоматически без участия пользователя.
На Delphi делал через TWebBrowser. Как сделать на Lazarus не знаю. Программа будет работать только под Windows (кроссплатформенность не нужна).
Умею через COM OLE вызывать Internet Explorer и встраивать его в форму - но как обрабатывать элементы WEB формы в коде не знаю.
Подскажите пожалуйста как на Lazarus можно решить такую задачу? (может решения не существует?)
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19

Re: Заполнение WEB формы

Сообщение Timid » 18.01.2012 12:04:27

richview?
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Заполнение WEB формы

Сообщение bloodlines » 18.01.2012 12:20:53

Timid писал(а):richview?

А по подробнее можно?
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19

Re: Заполнение WEB формы

Сообщение Timid » 18.01.2012 14:31:12

Смотрим http://wiki.lazarus.freepascal.org/RichView вики по компоненту.

Упрощенно - это браузер, целиком реализованный на pascal/lazarus, пусть и простой. Но для Вас вроде больше и не нужно.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Заполнение WEB формы

Сообщение v-t-l » 18.01.2012 15:51:29

Если веб-форма не создается динамически в браузере с помощью JavaScript-ов, то и браузер здесь нафиг не нужен - достаточно любого http-клиента, умеющего отправлять POST-запрос. Что именно отправляет форма можно увидеть, поставив в Firefox дополнение LiveHTTPHeaders.

Добавлено спустя 1 минуту 31 секунду:
RichView - ниразу не браузер.
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Заполнение WEB формы

Сообщение B4rr4cuda » 18.01.2012 20:57:52

Класс HttpSend из библиотеки Synapse - то что доктор прописал. Многое об этой библе (а в частности пример подобной задачи) можно найти тут.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Заполнение WEB формы

Сообщение bloodlines » 18.01.2012 21:13:03

RichView по моему никак к моей задаче не относится т.к. открывается внешний URL в интернете а не локальный файл.
LiveHTTPHeaders - ничего не показывает - пусто, хотя для других сайтов вижу данные (интересно почему?).
URL сайта http://www.kvartplata.ru/scdp/page?als=2890308
В WEB технологиях я плохо разбираюсь...
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19

Re: Заполнение WEB формы

Сообщение WAYFARER » 18.01.2012 23:38:04

bloodlines писал(а):LiveHTTPHeaders - ничего не показывает - пусто, хотя для других сайтов вижу данные (интересно почему?).
URL сайта http://www.kvartplata.ru/scdp/page?als=2890308

На сайте ошибка на ошибке. Может быть по этому...
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 537
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: Заполнение WEB формы

Сообщение bloodlines » 19.01.2012 10:20:27

WAYFARER писал(а):На сайте ошибка на ошибке. Может быть по этому...

Сайт не мой и к его написанию никакого отношения не имею и не могу на него повлиять. К заказчику моей программы сайт и организация стоящая за ним тоже прямого отношения не имеет.
Но очень нужен софт (по инфе из первого поста). Готов выслушать и попробовать любые идеи и предложения! Или задача на Lazarus не решаема?
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19

Re: Заполнение WEB формы

Сообщение v-t-l » 19.01.2012 14:18:58

http://www.webdelphi.ru/2011/07/biblioteka-synapse-rabota-s-modulem-httpsend-pas/
[url]http://www.google.ru/search?q=synapse+отправка+формы+site%3Afreepascal.ru&ie=utf-8[/url]

bloodlines писал(а):LiveHTTPHeaders - ничего не показывает - пусто

Код: Выделить всё
http://www.kvartplata.ru/scdp/page?serviceid=2890308&sc=login&prfx_obj=2890308&origin=login&event=form(login)

POST /scdp/page?serviceid=2890308&sc=login&prfx_obj=2890308&origin=login&event=form(login) HTTP/1.1
Host: www.kvartplata.ru
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,be;q=0.8,uk;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://www.kvartplata.ru/scdp/page?als=2890308
Cookie: JSESSIONID=f3pm36qqn3.ajp8010flower
Content-Type: application/x-www-form-urlencoded
Content-Length: 45
uname=zxczxc&upass=123&Submit=%C2%EE%E9%F2%E8
Ответ сервера:
Код: Выделить всё
HTTP/1.1 200 OK
Date: Thu, 19 Jan 2012 10:11:14 GMT
Server: Apache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Last-Modified: Thu, 19 Jan 2012 09:11:14 GMT
Content-Encoding: gzip
Content-Length: 2106
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=windows-1251
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Заполнение WEB формы

Сообщение bloodlines » 20.01.2012 08:29:54

OK. С synapse работал и работаю (писал демон отправки почты). Попробую разобраться с веб формами... По результатам отпишусь.
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19


Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 234

Рейтинг@Mail.ru