Ya lo he conseguido y pongo el codigo a disposicion del que lo necesite pero dejo que alguien me ayude como siempre para no tener que pulsar el boton 2 veces.
Se trata de sacar todo el codigo de una url incluso las cabeceras.
Yo como soy un novato aun no esta del todo depurada pero funciona.
es un formulario con dos botones, una labe,l un EditText y um MemoEdit.
Este es el codigo
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Sockets, ScktComp;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Edit1: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
ClientSocket1: TClientSocket;
function PeticionWeb(var url: string):string;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1 := TClientSocket.Create(Self);
ClientSocket1.ClientType := ctNonBlocking;
ClientSocket1.Name:= 'ClientSocket1';
ClientSocket1.Host := 'www.auna.com';
ClientSocket1.Port := 80;
ClientSocket1.OnRead:= ClientSocket1Read;
ClientSocket1.Active := False;
end;
function TForm1.PeticionWeb(var url: string):string;
begin
result:= ' ';
with ClientSocket1.Socket do begin
Memo1.Clear;
ClientSocket1.Host := url;
ClientSocket1.Active := True;
SendText('GET / HTTP/1.0'+#13#10);
SendText(''+#13#10);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var url: string;
begin
url:= Edit1.Text;
PeticionWeb(url);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
memo1.Lines.Add(ClientSocket1.Socket.ReceiveText);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Free;
end;
end.