Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как сформировать и послать сообщение к PHP на сайте [D6, WinXP]


AlexeyM ©   (2004-07-11 15:31:00) 

Уважаемые Мастера!
Помогите решить такую проблему, на сайте есть скрипт

<FORM action="pager.php" method=post>
<input type="radio" name="TASCOM" value="radiobutton" checked>ТАСКОМ
<input type="radio" name="TASCOM" value="radiobutton" unchecked>Континенталь
<div class=small> <strong>Номер абонента</strong>

   <INPUT size="6" maxlength="6" name="pager" class="form">
    <INPUT class=form readOnly maxLength=3 size=2 value=400 name=dddText>
   <BR>
   <STRONG> Текст сообщения<BR>
   </STRONG>
<SCRIPT language=JavaScript>
<!--
maxText=400;
function funcMaxIn(form) {
if (form.msgtext.value.length>maxText)
form.msgtext.value=form.msgtext.value.substring(0,maxText);
else form.dddText.value=maxText - form.msgtext.value.length;
}
//-->
</SCRIPT>
    <TEXTAREA class="form" onkeydown=funcMaxIn(this.form) onkeyup=funcMaxIn(this.form) name=msgtext rows=7 cols=25></TEXTAREA>
   <INPUT style="WIDTH: 100px" class=form name=Submit type=submit value=Отправить>
   <INPUT style="WIDTH: 100px" class=form name=Reset type=reset value=Отменить>
 </div>
</FORM>

и мне надо программой отправлять сформированный запрос на этот pager.php помогите сделать это на Delphi


SergP   (2004-07-12 17:59:00) [1]


> Slym ©   (12.07.04 11:17) [4]


Когда-то тоже пытался юзать INDY для отправки POST-запросов...
Но что-то не работало.
Как оказалось он в запросе не выдавал эту строчку:
Content-Type: application/x-www-form-urlencoded

После того я такие вещи пишу на TClientSocket  :-)))


AlexeyM   (2004-07-12 16:31:00) [2]

Спасибо всем


Slym   (2004-07-12 11:17:00) [3]

var Param:TStringList;
begin
 Param:=TStringList.Create;
 try
   Param.Values['TASCOM']:='checked';
   Param.Values['pager']:='12345';
   Param.Values['dddText']:='12345';
   Param.Values['msgtext']:='Hello world!';
   Param.Values['Submit']:='Îòïðàâèòü';
   IdHTTP1.Post('www.server.ru/pager.php',Param);
 finally
   Param.Free;
 end;
end;


SergP   (2004-07-11 19:57:00) [4]

Значит насчет формирования запроса:
Сначала формируешь само тело запроса (postdata)
которое представляет собой такую строку:
'var1=Vasya&var2=Pupkin&var3=22'
Вобщем имя переменной = значение, затем & (амперсанд) и имя и значение следующей переменной, и т.д.

А вот формирование самого POST-запроса (заголовок + тело)

writedata:='POST /pager.php HTTP/1.0'+#13+#10
+'Host: www.vasyapupkin.ru'+#13+#10
+'Content-Type: application/x-www-form-urlencoded'+#13+#10
+'Content-Length: '+inttostr(length(postdata))+#13+#10+#13+#10+postdata;

Теперь конектишься к серваку c помощью TClientSocket, и когда он сконектится, отправляешь на сервак содержимое writedata


AlexeyM   (2004-07-11 19:19:00) [5]

и в том и другом


SergP   (2004-07-11 17:00:00) [6]


> и мне надо программой отправлять сформированный запрос на
> этот pager.php помогите сделать это на Delphi


А в чем проблема: В формировании запроса или в отправке его на сервер?


Наверх

Титульная страница Поиск, карта сайта Написать письмо