//发送请求
procedure TfrmMain.LocateExecute(Sender: TObject);
var
fFileInStream:TFileStream;
fStreamIn:TStringStream;
begin
fFileInStream:=TFileStream.Create('c:\request.xml',fmOpenRead);
fStreamIn := TStringStream.Create('');
fStreamIn.CopyFrom(fFileInStream,fFileInStream.Size);
try
HttpCli.SendStream := TStringStream.Create(fStreamIn.DataString);
HttpCli.RcvdStream := TStringStream.Create('');
HttpCli.PostASync;
// MmoResponse.Text:='Request Finished,waiting for response...';
fFileInStream.Free;
fStreamIn.Free;
except
on e:Exception do
begin
ShowMessage('Exception Msg:'+ e.Message );
Exit;
end;
end;
end;
var
fFileInStream:TFileStream;
fStreamIn:TStringStream;
begin
fFileInStream:=TFileStream.Create('c:\request.xml',fmOpenRead);
fStreamIn := TStringStream.Create('');
fStreamIn.CopyFrom(fFileInStream,fFileInStream.Size);
try
HttpCli.SendStream := TStringStream.Create(fStreamIn.DataString);
HttpCli.RcvdStream := TStringStream.Create('');
HttpCli.PostASync;
// MmoResponse.Text:='Request Finished,waiting for response...';
fFileInStream.Free;
fStreamIn.Free;
except
on e:Exception do
begin
ShowMessage('Exception Msg:'+ e.Message );
Exit;
end;
end;
end;
//收到回应
procedure TfrmMain.HttpCliRequestDone(Sender: TObject; RqType: THttpRequest;
ErrCode: Word);
var
varStream:TStringStream;
begin
varStream:=TStringStream.Create('');
varStream:=TStringStream(HttpCli.RcvdStream);
varStream.Seek(0, soFromBeginning);
XML.LoadFromStream( varStream );
MmoResponse.Lines := XML.XML;
end;
ErrCode: Word);
var
varStream:TStringStream;
begin
varStream:=TStringStream.Create('');
varStream:=TStringStream(HttpCli.RcvdStream);
varStream.Seek(0, soFromBeginning);
XML.LoadFromStream( varStream );
MmoResponse.Lines := XML.XML;
end;
本文介绍了一个使用 Delphi 进行 HTTP 请求及处理响应的例子。通过创建并读取 XML 文件来构造请求内容,利用 HttpCli 组件发送请求,并在接收到服务器响应后解析 XML 数据,最终显示在界面上。
483

被折叠的 条评论
为什么被折叠?



