![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сформировать и послать сообщение к 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
А в чем проблема: В формировании запроса или в отправке его на сервер?