Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Вниз

Post в IdHTTP   Найти похожие ветки 

 
Programist21   (2003-02-20 16:21) [0]

Люди, помогите пожалуйста! Уже бьюсь дня три над проблемой, и не могу её решить :( В 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);
...


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


 
Reindeer Moss Eater   (2003-02-20 16:35) [1]

Версия Indy?

Вариант с запросом в файле:
function Post(AURL: string; const ASource: TStream): string;
тоже не работает?


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

Нет!!!


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

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


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

Версия Indy?


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

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


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

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


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

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


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

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


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

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

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


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

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


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

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


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

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

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

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


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

to nikkie ©

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

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

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

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

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


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

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

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

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


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

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

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


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

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


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

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

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


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

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


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

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

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


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

Да вообщем-то все очень даже и просто.
-----------------------------------------
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;




 
Programist   (2003-03-03 12:20) [21]

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



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.013 c
14-77160
Дмитрий К.К.
2003-04-09 06:35
2003.04.24
Именинники 9 апреля


1-76965
tararasyk
2003-04-11 20:09
2003.04.24
Timer и цикл


1-76902
jen_bond
2003-04-14 08:44
2003.04.24
целое число


14-77134
Kapitan
2003-04-04 10:48
2003.04.24
compress in Arj


1-76938
Артём
2003-04-11 20:49
2003.04.24
Как создать компонент во время выполнения программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский