我有一个使用Delphi编写的应用程序,其中包含 TIdHTTPServer
和 TIdHTTP
,以下是我的代码:
// This is for activating the HTTPServer - works as expected
HTTPServer1.Bindings.Add.IP := '127.0.0.1';
HTTPServer1.Bindings.Add.Port := 50001;
HTTPServer1.Active := True;
这是我的HTTPServer的
OnCommandGet
过程:procedure TDataForm.HttpServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
AResponseInfo.ContentText := 'Hello, user';
end;
我不知道为什么这个程序不起作用:
procedure TDataForm.btnHTTPSendGetClick(Sender: TObject);
var
HTTPClient : TIdHTTP;
responseStream : TMemoryStream;
begin
HTTPClient := TIdHTTP.Create;
responseStream := TMemoryStream.Create;
try
try
HTTPClient.Get('http://127.0.0.1:50001', responseStream);
except on e : Exception do begin
showmessage('Could not send get request to localhost, port 50001');
end;
end;
finally
FreeAndNil(HTTPClient);
FreeAndNil(responseStream);
end;
end;
如果我通过浏览器连接,就可以在浏览器中看到“你好,用户”,但是如果我尝试使用btnHTTPSendGetClick
,我的程序会崩溃,没有任何异常或其他信息。有人可以帮助我修复我的代码吗?