Jak wysłać zapytanie (GET, POST) na stronę WWW?
Wyobraźmy sobie sytuacje, że na serwerze istnieje plik (hxxp://ip_servera/~hador/MD5/index.php) o zawartości...

<?php
echo md5($_POST["hash"])."---\n---".md5($_GET["hash"]);
?>
 

I teraz chcemy wysłać zapytanie przekazując zawartość przez POST i GET... Jak to zrobić?

  1. Utworz nowy projekt (Uruchamiamy C++Buildera)
  2. Umieszczamy na formatce TClientSocket i TMemo
  3. Następnie ustawiamy właściwości TClientSocket :

    • Port: 80
    • Address: ip_servera
    • Active: true

  4. Następnie należy obsłużyć jego zdarzenia OnConnect i OnRead jak poniżej


void __fastcall TForm1::ClientSocket1Connect(TObject *Sender,
      TCustomWinSocket *Socket)
{
 
AnsiString post = "hash=hador";
AnsiString req =  "POST /~hador/MD5/index.php?hash=hador HTTP/1.1\n"
                  "Host: localhost\n"
                  "Content-Length: "+IntToStr(post.Length())+"\n"
                  "Content-Type: application/x-www-form-urlencoded\n"
                  "\n"
                  +post+
                  "";
ShowMessage(req);
Socket->SendText(req);
}
 
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
      TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
dynamic_cast<TClientSocket*>(Sender)->Active = false;
}


Autorem tekstu jest: Wojciech Bojewski
Materiał dodany przez użytkownika: _hador_