Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Post запрос из Файла


Автор: HoZeY 11.6.2009, 17:27
Как отправить пост запрос я знаю.

Код

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
    namer:=edit1.Text;
    pass:=edit2.Text;
  try
    zap:=TStringList.Create;
    Application.ProcessMessages;
    zap.Add('username='+namer);
    zap.Add('password='+pass);
    idhttp1.Post('http://site.ru/login.php/',zap);
    except
    end;
  zap.Free;
end;


Вопрос вот в чем. Можно ли сделать чтоб программа отправляла Post-запрос, который записан в файле?
Чтоб редактировать пост-запрос в файле, а не в делфи.
Делфи у меня 7
Спасибо

smile 

Автор: Keeper89 11.6.2009, 20:49
Можно, почему нет:
Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  zap: TStringList;
begin
  try
    zap := TStringList.Create;
    zap.LoadFromFile('login.txt');
    idhttp1.Post('http://site.ru/login.php/', zap);
  finally
    zap.Free;
  end;
end;

где файл (login.txt) содержит строки (жестко прописанные):
Код

username=petya
password=123

Автор: HoZeY 13.6.2009, 00:59
Цитата(Keeper89 @ 11.6.2009,  20:49)
Можно, почему нет:
Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  zap: TStringList;
begin
  try
    zap := TStringList.Create;
    zap.LoadFromFile('login.txt');
    idhttp1.Post('http://site.ru/login.php/', zap);
  finally
    zap.Free;
  end;
end;

где файл (login.txt) содержит строки (жестко прописанные):
Код

username=petya
password=123

Спасибо.
Но из этого возникает еще вопрос:

допустим у меня файл Login.txt содержит строки:
Код

query=
username=vasya
password=123456
submitted=submit


Но параметры username=vasya и password=123456 мне нужно взять из Edit`oв. Как мне быть?

Автор: Magister Y0da 13.6.2009, 06:42
Цитата(HoZeY @  13.6.2009,  00:59 Найти цитируемый пост)
допустим у меня файл Login.txt содержит строки:
query=
username=vasya
password=123456
submitted=submit

возникает вопрос... зачем дважды имя пользователя? в файле и в эдитах?
если например в файле их не будет то можно сделать так
Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  zap: TStringList;
begin
  try
    zap := TStringList.Create;
    zap.LoadFromFile('login.txt');
    zap.Add('username='+edit1.text);
    zap.add('password'+edit2.text);
    idhttp1.Post('http://site.ru/login.php/', zap);
  finally
    zap.Free;
  end;
end

Автор: HoZeY 13.6.2009, 09:08
Цитата(Magister Y0da @ 13.6.2009,  06:42)
Цитата(HoZeY @  13.6.2009,  00:59 Найти цитируемый пост)
допустим у меня файл Login.txt содержит строки:
query=
username=vasya
password=123456
submitted=submit

возникает вопрос... зачем дважды имя пользователя? в файле и в эдитах?
если например в файле их не будет то можно сделать так
Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  zap: TStringList;
begin
  try
    zap := TStringList.Create;
    zap.LoadFromFile('login.txt');
    zap.Add('username='+edit1.text);
    zap.add('password'+edit2.text);
    idhttp1.Post('http://site.ru/login.php/', zap);
  finally
    zap.Free;
  end;
end

Если бы меня устраивал этот вариант, я бы не просил помощи, но все равно  спасибо.

НО, у меня таких файлов как Login.txt будет около 20 или больше. Значит будет около 20 разных параметров для POST
Что бы не редактировать все Login.txt, изменяя параметры имя и пароль, хотелось бы брать их из Edit`oв

Автор: Magister Y0da 13.6.2009, 09:37
так... что-то я не понимаю...
у тебя есть ~20 файлов вида
Код

query=
username=vasya
password=123456
submitted=submit

так?

логины/пароли везде разные или одинаковые?

Автор: Keeper89 13.6.2009, 12:37
Действительно, как сказал Magister Y0da, логичнее хранить в файлах связку логин+пароль.
А так сформулируйте задачу более четко, немного непонятно что вам нужно в итоге.

Автор: HoZeY 13.6.2009, 21:05
У меня ~20 файлов с параметрами для пост. Они НЕ ОДНОТИПНЫЕ.
В каждом из файлов есть параметры Login и Password.
Логин и пароль одинаковый во всех 20 файлах.
Что бы поменять логины и пароли, когда нужно, мне нужно будет редактировать 20 или более файлов, что займет некоторое время.
Вот я хочу узнать, можно ли как-то упростить эту задачу изменения логин/пароль. Что бы вручную не редактировать.
что можете посоветовать

Автор: Keeper89 13.6.2009, 22:51
HoZeY, т.е. логин и пароль везде одинаковые, отличаются только остальные параметры?

Автор: HoZeY 13.6.2009, 23:12
Цитата(Keeper89 @ 13.6.2009,  22:51)
HoZeY, т.е. логин и пароль везде одинаковые, отличаются только остальные параметры?

да

Автор: Keeper89 13.6.2009, 23:31
Тогда в папке с этими 20 файлами можно создать отдельный файл с логином и паролем, и соответственно загружать его лишь один раз для всех 20 файлов с параметрами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)