HTTP + Delphi = авторизация

Тема в разделе "Другие языки", создана пользователем extrimportal, 7 апр 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. extrimportal

    extrimportal

    Регистр.:
    28 ноя 2008
    Сообщения:
    561
    Симпатии:
    74
    Трабл. Нужно с помощью делфи авторизоваться на одном сайте, после чего взять с него некоторые даные которые будут на странице после авторизации. Лазил по форумах но глухо. Помогите плиз как замутить? :thenks::thenks::thenks:
     
  2. tonsils

    tonsils Создатель

    Регистр.:
    2 янв 2008
    Сообщения:
    47
    Симпатии:
    20
    Если известны названия контролов, то поле ввода заполняется например так:
    Код:
    var 
    controls: olevariant; 
    i: integer; 
    begin
    controls := webbrowser1.oleobject.document.forms.item(0).elements;
    
    for i := 0 to controls.length - 1 do 
       if controls.item(i).tagname = 'input' then
          controls.item(i).value := 'инфа';
    end.
    Кликнуть потом можно так:
    Код:
    controls.item(i).click;
     
  3. Ratko

    Ratko Постоялец

    Регистр.:
    13 сен 2008
    Сообщения:
    92
    Симпатии:
    21
    - HTTP-снифером проверьте, какие параметры передаются;
    - создайте процедуру:
    Код:
    uses IdMultipartFormData;
    
    { .... }
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      data: TIdMultiPartFormDataStream;
    begin
      data := TIdMultiPartFormDataStream.Create;
      try
        data.AddFormField('param1', 'value1');
        data.AddFormField('param2', 'value2');
        data.AddFormField('param3', 'value3');
    
        Memo1.Lines.Text := IdHTTP1.Post('http://localhost/script.php', data);
      finally
        data.Free;
      end;
    end;
    
    - передайте необходимые параметры;
    - построчно проверьте Memo1 (в Memo1 вернется HTML код полученной страницы)
     
Статус темы:
Закрыта.