Si enviamos un "GET" al puerto 80 del servidor WEB, nos devolverá algo parecido a esto:
HTTP/1.0 200 OK
Date: Fri, 18.Feb 2000 09:42:29 GMT
Server: Apache/1.3.6 (Unix) <=== Esta es la parte interesante
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
...
...
Codigo HTML
...
|
La peticion como tal debe ser de la forma:
GET / HTTP/1.0{CR/LF}{CR/LF}{CR/LF}
El ejemplo es el sgte.
Añade a la forma un TClientSocket, un TMemo, un TEdit y un TButton.
En el evento Conect del TClientSocket, pon este codigo:
procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
Caption := 'Conectado'; {Connected}
ClientSocket1.Socket.SendText('GET / HTTP/1.0'+#13+#10+#13+#10+#13+#10);
end;
|
en el evento Read del ClientSocket:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(ClientSocket1.Socket.ReceiveText);
end;
|
Y en el OnClick del Boton
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host := Edit1.Text;
ClientSocket1.Port := 80;
ClientSocket1.Open;
end;
|
Ejecuta el programa, y en el edit escribe la direccion del servidor que desees chequear ej. 'www.q3.nu' , 'www.altavista.com', etc.
Si lo quieres por direccion IP entonces en vez de ClientSocket1.Host pones ClientSocket1.Address
Para 'www.q3.nu' saldra algo parecido a esto...
HTTP/1.1 200 OK
Date: Thu, 24 Feb 2000 21:00:41 GMT
Server: Apache 1.3.6 Skyport Version Server built May 4 1999 20:10:57
|
|