我想使用 Delphi 发出 HTTP 请求。 我使用下面的代码,但出现错误
未声明的标识符:TIdHTTP
function PostExample: string;
var
lHTTP: TIdHTTP;
lParamList: TStringList;
begin
lParamList := TStringList.Create;
lParamList.Add('id=1');
lHTTP := TIdHTTP.Create;
try
Result := TIdHTTP.Post('http://192.168.1.247:8001/test/test_api/',
lParamList);
finally
lHTTP.Free;
lParamList.Free;
end;
end;
Procedure http;
begin
PostExample();
end;
TIdHTTP
是 Indy 的组件,预装在 IDE 中。
如果您正在制作可视化 GUI 项目,您只需在设计时将
TIdHTTP
组件拖放到您的 Form/Frame/DataModule 上。
否则,要仅在代码中使用它,您需要将
IdHTTP
单元添加到 uses
子句中,并且您的项目需要需要 IndySystem#
、IndyCore#
和 IndyProtocols#
包,其中 #是您特定版本的 Delphi 的软件包版本号。
此外,您的代码中存在一些小错误。
Post()
不是 static
类的 TIdHTTP
方法,因此您需要使用 lHTTP
变量来调用它。另外,lParamList.Free
应该位于其自己的 try..finally
块中。
uses
..., IdHTTP, Dialogs;
function PostExample: string;
var
lHTTP: TIdHTTP;
lParamList: TStringList;
begin
lParamList := TStringList.Create;
try
lParamList.Add('id=1');
lHTTP := TIdHTTP.Create;
try
Result := lHTTP.Post('http://192.168.1.247:8001/test/test_api/', lParamList);
finally
lHTTP.Free;
end;
finally
lParamList.Free;
end;
end;
procedure http;
begin
ShowMessage(PostExample());
end;