Конференция "Сети" » Подкажите как POST запрос в IdHTTP [D7, WinXP]
 
  • DriveR_F (06.12.06 21:19) [0]
    Имеется вот такой код в JavaScript:

    <form method="post" action="http://smorye.apeha.ru/index.zhtml">
    <input type="hidden" name="actUser-MLogin" value=1>
     <input type="text" name="user{nick}">
     <input type="text" name="user{password}">
    </form>

    Подскажите товарищи знатоки как мне сделать точно такой же через компонент IdHTTP
  • Dmitrij_K (06.12.06 21:37) [1]
    sl := TStringList.Create;
    sl.Add('actUser-MLogin=1');
    sl.Add('user{nick}=???');
    sl.Add('user{password}=***');
    IdHTTP1.Post('http://smorye.apeha.ru/index.zhtml", sl);

  • Орион © (06.12.06 21:45) [2]
    > Имеется вот такой код в JavaScript:

    серьезно? всю свою недолгуб жизнь думал, что это html.
  • DriveR_F (06.12.06 21:53) [3]

    > sl := TStringList.Create;
    > sl.Add('actUser-MLogin=1');
    > sl.Add('user{nick}=???');
    > sl.Add('user{password}=***');
    > IdHTTP1.Post('http://smorye.apeha.ru/index.zhtml", sl);


    Пробовал этот код, но как и раньше выдает ошибку HTTP/1.0 400 Bad Request
  • DriveR_F (06.12.06 22:10) [4]
    Все сделал, ошибка больше не вылазит, но и доступ я так и не получил...
  • Dmitrij_K (06.12.06 22:43) [5]

    > но и доступ я так и не получил...


    Надо куки запоминать
  • DriveR_F (06.12.06 23:22) [6]

    > Надо куки запоминать

    Приведите пожалуйсто пример работы с куками
  • Dmitrij_K (06.12.06 23:46) [7]
    Подключи CookeManager (вкладка Indy Misc) к IdHTTP
  • DriveR_F (07.12.06 00:24) [8]

    > Подключи CookeManager (вкладка Indy Misc) к IdHTTP

    Хм... Он у меня подключен... А работать то с ним как?
  • Dmitrij_K (07.12.06 08:29) [9]
    Никак, он сам работает если Active включить
  • DriveR_F (09.12.06 20:18) [10]
    Благодарю, вроде все получилось)
  • DriveR_F (09.12.06 20:18) [11]
    Благодарю, вроде все получилось)
  • DriveR_F (10.12.06 21:20) [12]
    Я использую Indy 10, там в CookieManager нет своиства Active, полагаю он включен по умолчанию... Но есть такая проблема, я захожу на одну страницу авторизованым, если перехожу на другую ссылку то авторизация теряется... Подскажите что сделать что бы авторизация не терялась?
  • S(p)@wN © (22.02.07 18:32) [13]

    > DriveR_F   (06.12.06 22:10) [4]
    > Все сделал, ошибка больше не вылазит, но и доступ я так
    > и не получил...

    Доброго времени суток! Можно узнать как избавился от ошибки 400?
  • S(p)@wN © (22.02.07 18:34) [14]

    > DriveR_F   (06.12.06 22:10) [4]
    > Все сделал, ошибка больше не вылазит, но и доступ я так
    > и не получил...

    Доброго времени суток! Можно узнать как избавился от ошибки 400?
  • S(p)@wN © (22.02.07 18:35) [15]
    Извиняюсь, за два сообщения, браузер затупил..
  • Flores (23.03.07 08:17) [16]
    Заставить менеджер куков работать:
    ©Не моё, найдено в инернете.
    procedure TForm1.IdCookieManager1NewCookie(ASender: TObject;
     ACookie: TIdCookieRFC2109; var VAccept: Boolean);
    begin
     VAccept := true;
     if ACookie.Path='' then ACookie.Path:='/';
    end;

  • SayatKZ © (02.04.07 14:18) [17]
    Здарова мужики!!!
    У меня такая задача:
    надо сделать прогу которая работала бы как прокси,
    использую TidHTTPServer и TidHTTP.
    Когда browser обращается к TidHTTPServer, тот передает URL на TidHTTP,
    TidHTTP полученную страницу обратно передает на TidHTTPServer и он его
    возвращает browseru.

    procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
     ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
    begin
    AResponseInfo.ContentText:=IdHTTP1.Get(ARequestInfo.RawHTTPCommand);
    end;

    но рисунки не идут. почему?
    и как можно получить параметры метода POST у TidHTTPServer?
  • malor (30.05.07 13:26) [18]
    Я отправляю данные методом POST. Набираю в переменную Query типа TStrings различную информацию строками
    Query.Append('<?xml version="1.0" encoding="windows-1251"?>');
    Query.Append('<root>');
    Query.Append('<auth uid="1" pwd="password" vp="2"/>');
    ....и т.д. ...........

    затем :
    ResultQuery := HTTP.Post(AdressScripta, Query);
    Анализ ResultQuery показал, что отправленные мной данные не верны. Тогда я вывел переменную Query в поле Memo:
    mmPolya.Lines:=Query;
    Увидел вместо вышеприведенных строк такие:
    <?xml version=%221%2E0%22+encoding%3D%22windows%2D1251%2 2%3F%3E
    <root>
    <auth uid=%221%22+pwd%3D%22password%22+vp%3D%222%22%2F%3 E

    Почему он заменил симолы кавычек, уголков и прочего на коды?

    Delphi7
  • Anatoly Podgoretsky © (30.05.07 14:00) [19]
    > malor  (30.05.2007 13:26:18)  [18]

    Потому что RFC
 
Конференция "Сети" » Подкажите как POST запрос в IdHTTP [D7, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0.002]