Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 01.09.2010, 18:36   #1
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
Вопрос Проблемы с IdHTTP.Post() !

Доброго всем времени суток! Не пойму почему не хочет компилироваться программа! Помогите разобраться ато сроки поджимают!

Код следующий:

Код:
procedure TAdd.BitBtn4Click(Sender: TObject);
var
xml_file : TStringList;
begin

DR_Login.showmodal;

if dr_ln = true then
  begin

CreateXML(edit15.text, edit11.Text, edit7.Text, datamodule2.Arenda.Fields.Fields[0].AsString,
          edit10.text, edit4.text, edit9.text, edit14.text, edit17.text, edit8.text, edit13.text,
          edit12.text, edit21.text, memo1.Text, areview.label4.caption);

xml_file := TStringList.Create;
xml_file.LoadFromFile('C:\Lider\dr\' + areview.label4.caption + '.xml');

AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', key, login, password, xml_file);

xml_file.Free;
deletefile('C:\Lider\dr\' + areview.label4.caption + '.xml');

dr := true;

end;

BitBtn1Click(sender);

end;
Ошибка в строке запроса:

Код:
AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', key, login, password, xml_file);
Ошибка следующая:
Код:
[Error] Unit9.pas(433): Too many actual parameters
Описание переменных:
key - текстовая глобальная константа этого же файла!
login, password - текстовые глобальные с другого файла!

Заранее большое спасибо!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 01.09.2010, 18:54   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Цитата:
Сообщение от $T@LKER Посмотреть сообщение
Ошибка следующая:
Код:
[Error] Unit9.pas(433): Too many actual parameters
http://translate.google.com/
Цитата:
Слишком много фактических параметров
Цитата:
Сообщение от $T@LKER Посмотреть сообщение
Ошибка в строке запроса:

Код:
AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', key, login, password, xml_file);
Жмем Ctrl и мышью по Post. Открывается IdHTTP.pas:
Цитата:
function TIdCustomHTTP.Post(AURL: string; ASource: TStrings): string;
Видим всего два параметра.
Voody вне форума Ответить с цитированием
Старый 01.09.2010, 19:01   #3
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Спасибо!
Тоесть я могу передавать в запросе тока 1 переменную!? Но мне говорили что им на сайт пост должен передавать 4 переменные? Как же мне быть? может в переменную xml_file сначала подгрузить значения переменных key, login, password ?
Но как правильно это сделать? Просто их значения или:

key=значение
login=значение
password=значение

а затем данные из файла?

Как мне быть?
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 01.09.2010, 19:15   #4
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Обычно делают так:
Data: TStringList;
Data := TStringList.Create;
Data.add('key=значение');
Data.add('login=значение');
Data.add('password=значение');

Потом видимо надо данные из файла добавлять. Думаю сначала в переменную их читать, а уже из переменной в список параметров:
Data.add(dannie_iz_faila);

AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', Data);
Voody вне форума Ответить с цитированием
Старый 01.09.2010, 19:20   #5
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Большое спасибо! Буду пробовать!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 01.09.2010, 21:44   #6
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Я вернулся за помощью! Новая ошибка!

Измененный код:

Код:
procedure TAdd.BitBtn4Click(Sender: TObject);
var
  xml_file : TStringList;
begin

DR_Login.showmodal;

if dr_ln = true then
  begin

CreateXML(edit15.text, edit11.Text, edit7.Text, datamodule2.Arenda.Fields.Fields[0].AsString,
          edit10.text, edit4.text, edit9.text, edit14.text, edit17.text, edit8.text, edit13.text,
          edit12.text, edit21.text, memo1.Text, areview.label4.caption);

xml_file := TStringList.Create;
xml_file.Clear;
xml_file.Add('key=код');
xml_file.Add('login=' + login);
xml_file.Add('password=' + password);

memo2.Clear;
memo2.Lines.LoadFromFile('C:\Lider\dr\' + areview.label4.caption + '.xml');

//showmessage('');
xml_file.Add(AReview.Memo2.Lines.Text);

AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', xml_file);
xml_file.Free;

deletefile('C:\Lider\dr\' + areview.label4.caption + '.xml');

dr := true;

end;

BitBtn1Click(sender);

end;
Ошибка в строке:

Код:
AReview.Memo2.Lines.Text := IdHTTP1.Post('http://www.dom.ria.ua/xml_import_post', xml_file);
Текст ошибки:

""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 01.09.2010, 22:03   #7
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

IdHTTP1.HandleRedirects:=true;
Voody вне форума Ответить с цитированием
Старый 01.09.2010, 22:13   #8
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Спасибо!
Но опять ошибка: Socket Error # 10061 Connection Refused
Если я правильно понял отказано в подключении! Может проблема в том сервер того сайта хочет принимать данный в другом каком-то виде?
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 01.09.2010, 22:16   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

заполните данные, вроде б это св-во Request
закосите под браузер и ставьте реферер, часто проверяется это.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.09.2010, 22:19   #10
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
заполните данные, вроде б это св-во Request
закосите под браузер и ставьте реферер, часто проверяется это.
Можете пример навести пожалуйста!!! Я просто раньше не сталкивался с пост-запросами и тока осваиваюсь!!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idHTTP post nix01d Работа с сетью в Delphi 7 06.07.2010 22:52
POST idHTTP Pasha_Sh Работа с сетью в Delphi 7 11.06.2010 08:00
Получить hash (idhttp post) Lime Работа с сетью в Delphi 1 18.09.2009 07:35
idHTTP GET и POST запросы FAiver Работа с сетью в Delphi 64 15.05.2008 12:22
Все тот же IdHTTP (Post) AVer Работа с сетью в Delphi 5 28.09.2007 09:40


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS