![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
непонятки с POST в idHTTP
Bes © (2004-08-23 00:40:00)посылаю запрос POST'ом на HTTP сервер (компонент Indy HTTP - idHTTP), но почему-то неправильно задаются параметры...(использую куки через idCoockieManager)
вот такой исходный код
...
idHTTP1:TidHTTP;
...
procedure Tform1.Button1Click(Sender:TObject);
var
postdata:TStringList;
begin
try
postdata:=TStringList.Create;
postdata.values['id']:='1234';
postdata.values['page']:='page1';
idHTTP1.Post(' http://www.myhost.ru/',postdata);
finally
postdata.free;
end;
end;
и не правильно отсылается...постоянно ошибку выдает "Connection Close Gracefully"
так вот, запустил сниффер, смотрю пакет с данными..
id=1234&page=page1&
т.е. как будто пустая строка появилась..
вывожу ее в TMemo
memo1.lines.addstrings(postdata);
и действительно последняя строка пустая, т.е. как будто Enter нажали и ничего не написали... да, и что самое интересное ее вроде и нету (т.е. postdata.indexof('')=-1), а потом появляется :)
но если я вывел postdata в Tmemo, а потом удалил последний символ (всмысле символ перевода каретки), и отослал содержимое Tmemo то все ок... все работает и радуется
В чем проблема-то?
Erik1 (2004-08-23 10:58:00) [1]Indy тут абсолютно непричем советую разобратся с TStringList.
Вобщето в методе Post можно передовать нетолько TStringList, но и TStream. Например можно написть так
Stream := TStringStream.Create('id=1234&page=page1');
idHTTP1.Post(' http://www.myhost.ru/', Stream);
Piter (2004-08-23 03:52:00) [2]Bes (23.08.04 0:40)
постоянно ошибку выдает "Connection Close Gracefully"
насколько я помню indy - это не ошибка. Это исключение возбуждается при окончании коннекта. Так и должно быть... про остальное не знаю, с idHTTP не работал...