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

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

Post в IdHTTP [D6, Win95/98, WinXP]


Страницы:   1 2

Programist21 ©   (2003-02-20 16:21:00) 

Люди, помогите пожалуйста! Уже бьюсь дня три над проблемой, и не могу её решить :( В IdHTTP надо сделать простой Post, но ничего не получается.
Делаю так: допустим нужен post на адрес: http://127.0.0.1/mail.cgi?mail=mail@mail.com&subj=Hello!

var T: TStringList
...
T.Add("mail=mail@mail.com");
T.Add("subj=Hello!");
IdHTTP.Post(" http://127.0.0.1/mail.cgi", T, nil);
...


Кто-нибудь что-нить подскажите!?


Programist   (2003-03-03 12:20:00) [1]

to nikkie Это не я в него упёрся! Это скрипт такой :)
to S@shka Да, "спасибо" просветил :)))...


S@shka   (2003-03-02 14:05:00) [2]

Да вообщем-то все очень даже и просто.
-----------------------------------------
var
A : TSTRINGS;
B : TStringSTREAM;
ST : STRING;
begin
A := TStringList.Create;
B := TStringStream.Create("");

A.Add ("Ну то что надо и сколько надо");
try
idHTTP.Post(_URL,A,B);
except on E : Exception do
ShowMessage ("Error when connect: " + E.Message);
end;
ST := B.DataString; // ответ сервера на запрос
A.Free;
B.Free;
end;



nikkie   (2003-02-28 11:26:00) [3]

>Programist
Я рад, что ты знаешь разницу между GET от POST. Только надо думать, прежде, чем что-то делать. Если чужой скрипт не работает с методом POST, то ты его и не заставишь, хоть разбейся. Попробуй в html поменять метод - если из браузера не будет работать, то и твоя программа тут не поможет.

И вот понять я не могу - чего ты в этот POST уперся?


Programist   (2003-02-28 11:17:00) [4]

to nikkie Ты Get от Post"а отличить можешь? Вот мне Post нужен был...


nikkie   (2003-02-26 15:01:00) [5]

>Если я вбиваю строчку запроса в IE и жму Enter (по идее это
GET получается). То сообщение приходит. С Post"ом это, как уже
говорил, не катит.

я шизею :)
что ж ты нам всем голову морочил?


Reals   (2003-02-26 11:36:00) [6]

Ну а ты попробуй все-таки запрос послать как Get:
NMHTTP.Get( http://127.0.0.1/mail.cgi?mail=mail@mail.com&subj=Hello!");у меня например это работает в NMHTTP.Body;есть и ответ от сервера.


Programist   (2003-02-26 11:19:00) [7]

Если я вбиваю строчку запроса в IE и жму Enter (по идее это
GET получается). То сообщение приходит. С Post"ом это, как уже
говорил, не катит. В агент вписываю IE.
Сейчас думаю, а все ли я данные по Post"у, какие надо, передаю?

Хм... map... интересно... Но как его с нуля сделать. Взять
Client и Server Scoket"ы и перекидывать всё что на один пришло
на другой?! Так?!


nikkie   (2003-02-25 16:45:00) [8]

1. Да кто ж тебя, анонима, знает...

2. Параметры вроде правильно отправлешь. Но параметры это еще не все. Может они там куки используют, или отсекают клиентов с непонятными агентами, или еще что.

Поскольку из браузера все работает, тебе надо добиться того же самого поведения от своей программы. Напиши программку-логгер, которая будет делать map локального порта на нужный сайт. Сделай так чтобы браузер посылал пост на твой локальный порт (сохрани и подправь формочку). Запиши, что он туда послал. Добейся, чтобы твоя программа отсылала то же самое.


Programist   (2003-02-25 14:35:00) [9]

to nikkie ©

1. А мы не знакомы?! :)

2. - прога компилится и работает;
- не выскакивает никаких access violation;
- нет ошибок Сокета;
- А вот на счёт cgi я незнаю :(

Возможно cgi не получает данные, возможно получает не верные
данные, возможно ещё что-нибудь... Дело именно в Post"e.

По идее, когда делаю Post в Response (т.е. в последнем
параметре) должен содержаться ответ сервера. Оттуда же всегда
приходит пустота :(

Не боись, форумы закидывать не буду ;) Я отправляю мессаги
через форму на сайте сотовой компании. Естественно проверяю
смотря на мобильник :)


nikkie   (2003-02-25 13:30:00) [10]

Прежде всего ты сам не знаешь, что у тебя не работает. Или никому сказать не хочешь. А народ здесь гаданиями не занимается.

У тебя может
1. не компилится программа
2. выскакивает access violation
3. выскакивает ошибка сокета
4. cgi не получает данные
да и мало ли что еще...

Только если хочешь помощи - напиши подробно, что и как ты делаешь. Как сделал cgi, как проверяешь его работоспособность. А если хочешь сделать робота, чтобы бомбить форум, то извини...


Programist21   (2003-02-25 07:38:00) [11]

Ну и никто нефига незнает :(


Programist21   (2003-02-24 11:27:00) [12]

С cgi - всё ок. Но в форме (HTML) запрос именно Post, а не GET!!!


nikkie   (2003-02-23 17:53:00) [13]

>Programist21
что конкретно не работает-то? может проблема в твоем cgi?

судя по тому, что ты написал адрес
http://127.0.0.1/mail.cgi?mail=mail@mail.com&subj=Hello!
могу предположить, что тебе требуется не POST, а GET запрос.


Programist21   (2003-02-22 15:10:00) [14]

Версия Indy: 8.0.25
Дельфи 6.0


Chubais   (2003-02-21 13:27:00) [15]

)))))
хоть бы написал, чо не получается - скомпилить или денех за программу получить)))))или чо другое...


Reindeer Moss Eater   (2003-02-21 12:16:00) [16]

Я просто подумал, что он после (20.02.03 18:29) успел установить Indy, имеющую версию.


Anatoly Podgoretsky   (2003-02-21 12:04:00) [17]

Он же ответил Нет!!!


Reindeer Moss Eater   (2003-02-21 11:53:00) [18]

Версия Indy?


Programist21   (2003-02-21 11:53:00) [19]

И что, никто ничего незнает?!


Programist21   (2003-02-20 18:29:00) [20]

Нет!!!


Страницы:   1 2

Наверх

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