![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Post в IdHTTP [D6, Win95/98, WinXP]
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]Нет!!!