Post

Тема в разделе "Delphi - Сети", создана пользователем Froex, 1 фев 2008.

  1. Froex

    Froex Гость

    отправляю с помощью IdHTTP методом POST данные. В поиске нашел следующий текст:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Fields: TIdMultiPartFormDataStream;
    begin
    Fields := TIdMultiPartFormDataStream.Create;
    with Fields do
    begin
    Fields.AddFormField('param1', 'value1');
    Fields.AddFormField('param2', 'value2');
    end;
    Memo1.Text:=IdHTTP1.Post('http://mydomain.ru/enter.php', Fields);
    end;
    Вот код самой формы:
    Код (Text):
    <form method="post" name="snd" action="enter.php">
    <input type="hidden" name="w" value="">
    <input type="hidden" name="login" value="1201861312">
    <input type="text" name="ec95c50" value="Froex" maxlength="15">
    <input type="password" name="e7910da" value="*****" maxlength="20">
    <input type="hidden" name="e94957d" value="117a831b8c">
    <input type="image" value="login" border="0" name="s" src="1.gif" width="80" height="20" onMouseUp="btm0()" onMouseOut="btm0()" onClick="xy()"></input>
    <input type="Checkbox" name="autologin" value="ok" checked>
    </form>
    В результате я решил написать строки:
    Код (Text):
    Fields.AddFormField('w', '');
    Fields.AddFormField('login', '1201861312');
    Fields.AddFormField('ec95c50','Froex');
    Fields.AddFormField('e7910da','*****');
    Fields.AddFormField('e94957d','117a831b8c');
    Fields.AddFormField('s','login');
    Fields.AddFormField('autologin','ok');
    Правильно ли я их написал? вместо param надо писать имя отправляемой переменной?

    При заходе на сайт необходимо пользоваться куками. Как я понял, мне надо поставить на форму куки мэнэджер. В свойствах IdHTTP1 указал на этот куки мэнэджер. Как работать дальше?
     
  2. Froex

    Froex Гость

    Извините за беспокойство - разобрался сам немного другим методом)))
     
  3. Froex

    Froex Гость

    Код (Text):
    procedure TForm1.Login;
    var
    list: TStringList;
    response: TStringStream;
    begin
    response:=TstringStream.Create('');
    list := TStringList.Create;

    //далее добавляем отправляемые значения
    list.Add('param1=value1');
    list.Add('param2=value2');

    try
    //метод POST по указанному URL
    IdHTTP1.Post('http://mydomain.ru/login.php',list,Response);
    finally
    //освобождение
    list.Free;
    response.free;
    end;
    end;

    если подключение не нужно, то испольуем метод IdHTTP1.Disconnect;
    если нужно получить HTML-код страницы после отправки данных, то после метода POST пишем
    memo1.lines.text := response.DataString;
     
Загрузка...

Поделиться этой страницей