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

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

TidTCPClient [D7, WinXP]


Луарвик ©   (2004-09-30 08:57:00) 

А где есть инфа, о использовании компонента? И главный вопрос: как с его помощью отправить запрос Post?
Про idHTTP не говорите, потому что: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1096368986&n=4&web=1


Луарвик   (2004-10-01 21:01:00) [1]

Вощем взял idTCP сервер из примеров к indy. При соединениях в memo1 результаты вывожу так:
Protocol.lines.add(CommBlock.Command);
Protocol.lines.add('***');
Protocol.lines.add(CommBlock.MyUserName);
Protocol.lines.add('***');
Protocol.lines.add(CommBlock.Msg);
Protocol.lines.add('***');
Protocol.lines.add(CommBlock.ReceiverName);

CommBlock :TCommBlock
При работе с IE получил это:

OST /script.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/
gsarcade-launch, */*
Accept-Language: ru
Co
coding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: localhost
Conten
t
Content-Length: 33
Connection: Keep-Alive
Cache-Control: no-cache

text1=123&text2=456&Submit

С Оперой че-похожее. Когда свою прогу юзал, то не получил НИЧЕГО. Все это крайне странно...


Reindeer Moss Eater   (2004-10-01 17:20:00) [2]

TCPServer подойдет


Луарвик   (2004-10-01 17:13:00) [3]


> А то что скрипт не записывает, - так здесь может быть миллион
> причин.
> 1. Неполный заголовок HTTP запроса (У меня приведен пример
> минимально возможного)
> 2. Неправильный адрес ресурса на самом сервере
> 3. Неправильные имена параметров.
> и так далее.

Ну 2 и 3 причины можно вычеркнуть , так как идентичная операция с IdHTTP проходит успешно.
Ладно попытаюсь простейший http-прокси замутить. Кстати там какой ваще компонент нужен?


Reindeer Moss Eater   (2004-10-01 16:19:00) [4]

Если лень разбирать код html страницы с формой отправки данных для выявления имен параметров и адреса скрипта-назначения можно поступить следующим способом: пишем простейший http-прокси, который записывает в файл все приходящие на него запросы.
Указываем в ie его в качестве прокси и работаем со своим скриптом в ie.

После чего смотрим внутрь файла и видим там правильный запрос в чистом виде.


Reindeer Moss Eater   (2004-10-01 16:05:00) [5]

Сначала ты говорил что этот код не работает.

А то что скрипт не записывает, - так здесь может быть миллион причин.
1. Неполный заголовок HTTP запроса (У меня приведен пример минимально возможного)
2. Неправильный адрес ресурса на самом сервере
3. Неправильные имена параметров.
и так далее.


Луарвик   (2004-10-01 15:38:00) [6]

Я говорю, что скрипт должен записать в файл переменные. НО ОН НЕ ЗАПИСЫВАЕТ НИ ФИГА. Почему?


Reindeer Moss Eater   (2004-10-01 14:23:00) [7]

Этот код работает.
В чем можно легко убедиться написав в 10 строках свой веб сервер и записав в лог подробности приходящего на него запроса.

Этот код отправляет POST запрос.
Больше этот код ничего делать и не должен.
А то что он должен делать - он делает.


Луарвик   (2004-10-01 13:49:00) [8]

with Form1.idTCPClient1 do
begin
Host:='www.test3.ru';
Port:=80;
Connect;
Writeln('POST /script.php HTTP/1.0');
Writeln('Content-Length: 22');
Writeln;
WriteLn('text1=1234&text2=5678&');
Disconnect;
end;

Что не так? Не работает код!!!
Вот код скрипта:

Он должен сохранять в Base.txt переменные.


Луарвик   (2004-09-30 13:36:00) [9]

Да, еще вопрос: Port это что? Он всегда один и тот же или нет? Тогда где его взять?


Луарвик   (2004-09-30 13:25:00) [10]

Ага, пасибо!


Reindeer Moss Eater   (2004-09-30 13:22:00) [11]

Потому что у тебя ник такой.
И пароль.


Луарвик   (2004-09-30 13:18:00) [12]


>  [2] Reindeer Moss Eater ©   (30.09.04 11:13)
> Только Content-Length: 30

Это почему?


Reindeer Moss Eater   (2004-09-30 11:13:00) [13]

Только Content-Length: 30


Reindeer Moss Eater   (2004-09-30 11:08:00) [14]

with idTCPClient1 do
begin
 Host:='www.domain.com';
 Port:=80;
 Connect;
 Writeln('POST /somescript.cgi HTTP/1.0');
 Writeln('Content-Length: 29');
 Writeln;
 WriteLn('name=Луаврик&password=кирвауЛ&');
 Disconnect;
end;


Наверх

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