Работа с http формами на Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by a1nt, 5 Dec 2006.

  1. a1nt

    a1nt Elder - Старейшина

    Joined:
    16 Dec 2005
    Messages:
    131
    Likes Received:
    39
    Reputations:
    25
    Нужно чтобы программа логинилась на одном сайте, получала cookie, и с этими cookie отправляля данные формы (только одно поле), как это реализовать, какие библиотеки использовать и как, может есть похожие исходники?
     
  2. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    Качай справочник _http://delphiworld.narod.ru/dw.html - там есть похожие исходники
     
  3. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Кинь в личку сайт или скажи тут и я приведу тебе полный код
     
    1 person likes this.
  4. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Далее по аналогии,если что непонятно спрашивай.

    http://www.mytempdir.com/1100096
     
  5. a1nt

    a1nt Elder - Старейшина

    Joined:
    16 Dec 2005
    Messages:
    131
    Likes Received:
    39
    Reputations:
    25
    Спасибо, отличный пример, тоолько еще вопрос: а как в этом коде использовать прокси?
     
  6. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Надо всего то поправить пару строк

    PHP:
    host                     :=resolve(проксихост);
    adr.sin_addr.s_addr :=inet_addr(pchar(host));
    adr.sin_family     :=AF_INET;
    adr.sin_port        :=htons(проксипорт);
    И запрос делать полным

    PHP:
    req:='POST http://nnm.ru/index.php HTTP/1.1'+#13#10+
    'Content-Type: application/x-www-form-urlencoded'+#13#10+
    'Host: nnm.ru'+#13#10+
    'Accept-Encoding: gzip,deflate'+#13#10+
    'Content-Length: '+inttostr(length(params))+#13#10#13#10+params;
     
  7. a1nt

    a1nt Elder - Старейшина

    Joined:
    16 Dec 2005
    Messages:
    131
    Likes Received:
    39
    Reputations:
    25
    И еще один вопрос, а как правильно подставлять Cookie в заголовок?
     
  8. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Пример

    PHP:
    req:='POST http://nnm.ru/index.php HTTP/1.1'+#13#10+
    'Content-Type: application/x-www-form-urlencoded'+#13#10+
    'Host: nnm.ru'+#13#10+
    'Cookie: КУКИ'+#13#10+
    'Accept-Encoding: gzip,deflate'+#13#10+
    'Content-Length: '+inttostr(length(params))+#13#10#13#10+params;