Заполнение WEB формы
Модератор: Модераторы
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
Заполнение WEB формы
Доброго времени суток, уважаемые знатоки!
Есть такая задача :
Необходимо перейти на некоторый URL, заполнить форму логина и пароля, нажать на кнопку авторизации, на открывшейся странице скачать файл по ссылке. Все действия должны происходить автоматически без участия пользователя.
На Delphi делал через TWebBrowser. Как сделать на Lazarus не знаю. Программа будет работать только под Windows (кроссплатформенность не нужна).
Умею через COM OLE вызывать Internet Explorer и встраивать его в форму - но как обрабатывать элементы WEB формы в коде не знаю.
Подскажите пожалуйста как на Lazarus можно решить такую задачу? (может решения не существует?)
Есть такая задача :
Необходимо перейти на некоторый URL, заполнить форму логина и пароля, нажать на кнопку авторизации, на открывшейся странице скачать файл по ссылке. Все действия должны происходить автоматически без участия пользователя.
На Delphi делал через TWebBrowser. Как сделать на Lazarus не знаю. Программа будет работать только под Windows (кроссплатформенность не нужна).
Умею через COM OLE вызывать Internet Explorer и встраивать его в форму - но как обрабатывать элементы WEB формы в коде не знаю.
Подскажите пожалуйста как на Lazarus можно решить такую задачу? (может решения не существует?)
richview?
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
Timid писал(а):richview?
А по подробнее можно?
Смотрим http://wiki.lazarus.freepascal.org/RichView вики по компоненту.
Упрощенно - это браузер, целиком реализованный на pascal/lazarus, пусть и простой. Но для Вас вроде больше и не нужно.
Упрощенно - это браузер, целиком реализованный на pascal/lazarus, пусть и простой. Но для Вас вроде больше и не нужно.
Если веб-форма не создается динамически в браузере с помощью JavaScript-ов, то и браузер здесь нафиг не нужен - достаточно любого http-клиента, умеющего отправлять POST-запрос. Что именно отправляет форма можно увидеть, поставив в Firefox дополнение LiveHTTPHeaders.
Добавлено спустя 1 минуту 31 секунду:
RichView - ниразу не браузер.
Добавлено спустя 1 минуту 31 секунду:
RichView - ниразу не браузер.
Класс HttpSend из библиотеки Synapse - то что доктор прописал. Многое об этой библе (а в частности пример подобной задачи) можно найти тут.
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
RichView по моему никак к моей задаче не относится т.к. открывается внешний URL в интернете а не локальный файл.
LiveHTTPHeaders - ничего не показывает - пусто, хотя для других сайтов вижу данные (интересно почему?).
URL сайта http://www.kvartplata.ru/scdp/page?als=2890308
В WEB технологиях я плохо разбираюсь...
LiveHTTPHeaders - ничего не показывает - пусто, хотя для других сайтов вижу данные (интересно почему?).
URL сайта http://www.kvartplata.ru/scdp/page?als=2890308
В WEB технологиях я плохо разбираюсь...
bloodlines писал(а):LiveHTTPHeaders - ничего не показывает - пусто, хотя для других сайтов вижу данные (интересно почему?).
URL сайта http://www.kvartplata.ru/scdp/page?als=2890308
На сайте ошибка на ошибке. Может быть по этому...
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
WAYFARER писал(а):На сайте ошибка на ошибке. Может быть по этому...
Сайт не мой и к его написанию никакого отношения не имею и не могу на него повлиять. К заказчику моей программы сайт и организация стоящая за ним тоже прямого отношения не имеет.
Но очень нужен софт (по инфе из первого поста). Готов выслушать и попробовать любые идеи и предложения! Или задача на Lazarus не решаема?
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]
Ответ сервера:
[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- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
OK. С synapse работал и работаю (писал демон отправки почты). Попробую разобраться с веб формами... По результатам отпишусь.
