Как заполнить форму и отправить на сервер? |
Previous Top Next |
Для того, чтобы отправить форму на сервер, необходимо:
1. Найти форму в исходном тексте страницы.
Для этога найти в исходном тексте страницы теги <form>...</form>
Например:
Code: |
<form method=GET action=http://localhost/cgi-bin/mget?> <input type=text name=name1 value="имя" size="40" maxlength="20"><br> <input type=text name=name2 value="фамилия" size="40" maxlength="20"><br> <input type=submit> </form> |
2. Определить метод, который используется для отправки данных. В указанном выше примере это "GET" - form method=GET
3. Найти поля, которые необходимо заполнить.
В примере это:
Code: |
<input type=text name=name1 value="имя" size="40" maxlength="20"><br> <input type=text name=name2 value="фамилия" size="40" maxlength="20"><br> |
4. Используя компоненты для работы с протоколом TCP/IP, сформировать строку запроса.
Для определенности пусть это будет компонент TIdHTTP из пакета Indy, входящий в стандартный набор компонент Delphi.
--------------
Сформируем строку для отправки на сервер для нашего примера:
Пусть нам нужно отправить значениядля полей: имя=Vasya, фамилия=Pupkin.
В этом случае запрос будет выглядеть так:
Code: |
var s: String; begin s := IdHTTP1.Get('http://localhost/cgi-bin/mget?name1=Vasya&name2=Pupkin') |
В случае, если форма использует метод POST:
Code: |
<form method=POST action=http://localhost/cgi-bin/mget?> <input type=text name=name1 value="имя" size="40" maxlength="20"><br> <input type=text name=name2 value="фамилия" size="40" maxlength="20"><br> <input type=submit> </form> |
формируем запрос для отправки несколько по-другому:
Code: |
var tL: TStringList; s: String; begin tL := TStringList.Create; tL.Add('name1=Vasya'); tL.Add('name2=Pupkin'); try s := IdHTTP1.Post('http://localhost/cgi-bin/mget',tL); finally tL.Free; end; |
Взято из http://forum.sources.ru
Автор: Демо
©Drkb::03584