Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Взаимодействие с Html-страницей
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Сети
Арсений
Такой вопрос: требуется "скормить" серверу большое количество информации через форму на страничке. Поскольку он (сервер) принимает запросы по одному а информации МНОГО, хочется как-то этот процесс автоматизировать. Вот и подскажите пожалуйста "чайнику" в вопросах сетей, как это сделать.

Заранее спасибо.
Barmutik
Посылайте ему запросы параллельно.. создайте 10-20-... потоков и шлите ему по HTTP Ваши данные...
Арсений
Цитата(Barmutik @ 7:06:2007, 04:47 ) *
Посылайте ему запросы параллельно.. создайте 10-20-... потоков и шлите ему по HTTP Ваши данные...


Логично, а КАК послать эти данные? То бишь для меня главный вопрос - как submit-тить данные в форму, а потом извлечь результат?
zubr
Смотри в сторону WinInet или WinHttp. Описание и примеры есть в MSDN. Данные формы по запросу POST посылаются после Headera как аттачмент в виде Name=Value. Функции из WinInet:
InternetOpen
InternetConnect
HttpOpenRequest
HttpSendRequestEx
HttpEndRequest
HttpQueryInfo
InternetQueryDataAvailable
InternetWriteFile
InternetReadFile.
Я когда то на C++ писал библиотеку-класс ATL VS, способный отправлять - получать запросы формы и даже файлы на сервер в аттачменте. Код могу дать, но разбираться будет трудно, а объяснять и разжевывать времени нет.
Арсений
Цитата(zubr @ 7:06:2007, 16:00 ) *
Смотри в сторону WinInet или WinHttp.


Спасибо, попробую. Кстати пожалуй надо уточнить в чем проблема (на мой взгляд). Дело в том, что серверу в обработку надо послать информации строчек эдак 50 одним куском (это посылка кусочка гена в генную базу с целью сравнения). Вот я и думаю, как этот здоровенный кусок посылать если он в одну строчку может и не уместиться.
Barmutik
Если надо просто но не красиво.. то используйте готовый TWebBrowser. Навигируйте его на нужную страницу, потмо с помощью объектной модели заполняйте форму и отсылайте. Всё сетевое взаимодействие браузер возьмёт на себя...

Но работать конечно будет медленне чем через API функции... но зато в реализации побыстрее и попроще...
zubr
Цитата
Кстати пожалуй надо уточнить в чем проблема (на мой взгляд). Дело в том, что серверу в обработку надо послать информации строчек эдак 50 одним куском (это посылка кусочка гена в генную базу с целью сравнения). Вот я и думаю, как этот здоровенный кусок посылать если он в одну строчку может и не уместиться.

Никаких проблем. С помощью функкции InternetWriteFile посылаешь любой размер данных частями равными размеру буфера, который устанавливается программистом. Хоть файлы пересылай.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.