Конференция "Сети" » Пост запрос [D7, WinXP]
 
  • bumb (14.02.11 08:46) [0]
    Как отправить с помощью delphi пост запрос на сервер и получить от сервера ответ?
  • brother © (14.02.11 09:10) [1]
    можно через инди компоненты...
  • bumb (14.02.11 09:17) [2]
    так как я новичок в дельфи, можно поподробней? я половину сделал, но тут завис. помогитее

    procedure TForm1.Button1Click(Sender: TObject);

    var
    Stream: TIdMultipartFormDataStream;
    sl:tstringlist;
    begin
    Stream := TIdMultipartFormDataStream.Create;
    sl:=tstringlist.create;
    try
    //sl.LoadFromFile('C:\zapros.xml');
    sl.add('<?xml version="1.0" encoding="windows-1251"?>');
    sl.add('<document>');
    sl.add('<function name="employerInfo">');
    sl.add('<param name="login">ivanov</param>');
    sl.add('<param name="pass">f8b932c80d0b2e6bf025149a4fa68dfc</param>');
    sl.add('</function>');
    sl.add('<client name="SomeProgram" version="1.0"/>');
    sl.add('</document>');

      {Stream.AddFile('filename', 'C:\zapros.xml', 'xml');
      Form1.IdHTTP1.HandleRedirects := True;
      Form1.Memo1.text:=Form1.IdHTTP1.Post('http://xxx.xxx.xxx.xxx/api/functions.php', Stream );}
      Form1.Memo1.text:=idhttp1.post('http://xxx.xxx.xxx.xxx/api/functions.php',sl);

    finally
      //Stream.Free;
      end;
  • bumb (14.02.11 09:25) [3]
    С помощью xml мне нужно получить реквизиты пользователя (employerInfo). Где ошибка?
  • karat_1 © (14.02.11 10:17) [4]
    а что не так?
    а куdа запрос отсылаете?
  • karat_1 © (14.02.11 10:19) [5]
    Ну а вообще лучше поставить http снифер. Он покажет, что куdа и как хоdит
  • bumb (14.02.11 11:08) [6]
    запрос отправляется на сервер, где имеется база данных. и я должен получить реквизиты указанного пользователя. Так как я новичок в дельфи, никогда им еще не пользовался, и не знаю как (((
  • Slym © (14.02.11 19:44) [7]

    > я новичок в дельфи, никогда им еще не пользовался

    мало данных... ты уверен что сервер ждет именно MultipartFormData?
    проще всего:
    > Ну а вообще лучше поставить http снифер. Он покажет, что
    > куdа и как хоdит

    там подсмотреть что и как и повторить. или выложить сюда правильный запрос-ответ, а не свою поделку
  • karat_1 © (15.02.11 11:24) [8]
    bumb, елки. Аdрес сервера какой? Или он локальный?

    Выложи аdрес, я сам в снифере гляну.
  • bumb (16.02.11 12:34) [9]

    > Аdрес сервера какой? Или он локальный?
    >
    > Выложи аdрес, я сам в снифере гляну.


    Сервер локальный. Его адрес 192.168.0.11 .
  • bumb (16.02.11 12:37) [10]

    > мало данных... ты уверен что сервер ждет именно MultipartFormData?
    >
    > проще всего:
    > > Ну а вообще лучше поставить http снифер. Он покажет, что
    > > куdа и как хоdит


    Эту прогу я сделал гуляя по форумам. У меня задача получить от сервера пост запрос. Не использовал http сниферы так как не умею пользоваться им. HELP
  • karat_1 © (16.02.11 13:05) [11]
    bumb, значит вот что.

    1) Ставим HTTPAnalyzer
    2) Запускаем
    3) Открываем браузер и начинаем работать с сервером через браузер. Ввоdим dанные, отправляем или что там за процеdура? Похоже залогиниться сначала наdо, суdя по твоему xml
    4)Снифер начинает отлавливать переdаваемую информацию. Вот ее нужно копирунуть и вставить сюdа.
  • bumb (16.02.11 13:25) [12]
    А через дельфи никак нельзя его сделать?
  • karat_1 © (16.02.11 14:38) [13]
    bumb, вот хотелось помочь. Старался как мог.
  • bumb (16.02.11 15:04) [14]
    ок. Спасибо karat_1 ))). Вопрос еще открыт, help me, please
  • karat_1 © (16.02.11 15:13) [15]
    bumb, это я к чему. Ты не ленись и не сиdи ровно. Таким помогать не любят. Поставь снифер, поработай с сервером и покажи отловленную информацию.
    Информация хоdит в незашифрованном виdе и там все виdно. Dалее отловленный трафик смотрится, dелается вывоd как происхоdит общение с сервером и на основе этого пишется своя программа.

    Траффик анализируется в течении 5-10мин. Ну максимум 30мин пишутся наброски на Dелphi.
  • karat_1 © (16.02.11 15:14) [16]
    Хотел сказать, что писал dля своей группы в контакте программулину. На Indy ну мож не целую собаку, но пол собаки точно съел.
  • bumb (16.02.11 15:35) [17]
    ок. поработаю сегодня со снифером. о результатах напишу завтра. Надеюсь на вашу помощь
 
Конференция "Сети" » Пост запрос [D7, WinXP]
Есть новые Нет новых   [134436   +25][b:0][p:0.001]