Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2012, 12:59   #1
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию Формирование POST-запроса

В окне WebBrowser сформирована в числе прочего форма с POST-запросом
Код HTML:
<form name="form1" action="model_choice_list.asp" method="post" target="_self">
			<tr><td height="17" colspan="7"></td></tr>
			<tr>
			 <td width="265" class="stit_keywrds"><img src="/i/stit_keywrds.gif" width="83" height="14" alt="Поиск по названию или артикулу"></td>
			 <td width="163" height="20" class="simp simp_keywrds"><input type="text" name="sstr" title="Поиск по названию или артикулу" value=""></td>
			 <td width="64" class="stit_cond"><img src="/i/stit_from.gif" width="43" height="13"></td>
			 <td width="50" height="20" class="simp simp_cond"><input type="text" name="price1" value=""></td>
			 <td width="24" class="stit_cond"><img src="/i/stit_to.gif" width="12" height="10"></td>
		 	 <td width="50" height="20" class="simp simp_cond"><input type="text" name="price2" value=""></td>
			 <td width="63" height="20" align="right"><input type="image" src="/i/search_but.gif" width="53" height="20" alt="Начать поиск"></td>
			</tr>
			<tr><td height="36" colspan="7"></td></tr>
</form>
Можно программно заполнить поля и нажать кнопку (опять же программно).
А как можно программно сформировать POST-запрос к PHP-серверу в виде веб-строки, чтобы получить нужный результат?
При GET-запросе это выглядит где то так:
http://www.big-toys.ru/search/?searchstring=211036

Последний раз редактировалось Stilet; 08.08.2012 в 13:39.
Aleksandr_59 вне форума Ответить с цитированием
Старый 10.08.2012, 14:46   #2
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Пример клика, аналогично можно устроить заполнение параметров формы.
Код:
var
  i, j: Integer;
  FormItem: Variant;
begin
    if WebBrowser1.OleObject.Document.all.tags('FORM').Length = 0 then
    begin
      Log('Форма подачи заявки не найдена');
      Exit;
    end;
    //count forms on document
    Log('Поиск кнопки заявки...');
    for I := 0 to WebBrowser1.OleObject.Document.forms.Length - 1 do
    begin
      FormItem := WebBrowser1.OleObject.Document.forms.Item(I);
      for j := 0 to FormItem.Length - 1 do
      begin
        try
          //when the fieldname is found, try to fill out
          if FormItem.Item(j).Value = 'Подать заявку' then
          begin
            Log('Клик по кнопке заявки');
            FormItem.Item(j).Click;
          end;
        except
        end;
      end;
    end;
end;
Программно в виде вебстроки не получиться сформировать POST запрос. Решения два:
1. в TWebBrowser эмулировать заполнение формы и клик по кнопке.
2. использовать библиотеку Indy.
Usov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формирование запроса serdce Microsoft Office Access 4 23.05.2010 17:30
формирование SQL запроса Ntlegend SQL, базы данных 1 25.02.2010 18:41
Формирование запроса BlackOmen JavaScript, Ajax 6 15.06.2008 12:37
Формирование запроса с параметром student_63 БД в Delphi 7 13.05.2008 17:40