Indy 10 Http Server示例

问题描述 投票:15回答:2

我需要一个用于Indy 10 Http Server的简单代码示例,当请求(发布)只是显示它时是否有Indy 9样本?谢谢

delphi http delphi-7 indy
2个回答
19
投票
  1. 开始一个新的VCL Forms项目
  2. 将TidHTTPServer组件拖放到窗体上
  3. 双击表单以创建OnCreate()事件并激活服务器

    IdHTTPServer1.Active:= True;

  4. 返回到表单,选择HTTP Server组件,并创建OnCommandGet事件

在此[[OnCommandGet事件(每当执行GET / POST时在子线程中调用)中,通过填充响应来处理请求。

AResponseInfo.ContentText := '<html><head><title>My First Response</title></head>' + '<body>Command: ' + ARequestInfo.Command + '<br />Host: ' + ARequestInfo.Host + '<br />URI: ' + ARequestInfo.URI + '<br />UserAgent: ' + ARequestInfo.UserAgent + '</body></html>';
取决于您的Delphi版本,您可能还必须将

IdContext

添加到Uses子句运行演示应用程序,然后启动浏览器至http://localhost,您应该得到响应。 (除非您在端口80上监听其他内容,否则您的演示应用程序将生成异常)

8
投票
Indy 9 samples在IndyProject网站上仍然可用,并包括一个HTTPServer演示项目。 Indy 10 Demo Playground也一样。

在IdHTTPServer中,Get和Post命令本质上是相同的,并在CommandGet事件中进行处理。

© www.soinside.com 2019 - 2024. All rights reserved.