Indy 10 Http Server示例

时间:2011-08-20 10:04:27

标签: delphi http delphi-7 indy

我需要Indy 10 Http Server的简单代码示例当请求(post)只显示它时 这是一个Indy 9样本吗? 感谢

2 个答案:

答案 0 :(得分:18)

  1. 启动新的VCL表单项目
  2. 将TidHTTPServer组件放到表单
  3. 双击表单以创建 OnCreate()事件并激活服务器

    IdHTTPServer1.Active:= True;

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

  5. 在这个 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 添加到使用子句

    运行您的演示应用,然后启动浏览器到http://localhost,您应该得到回复。 (除非你有其他东西在端口80上侦听,否则你的演示应用程序会产生异常)

答案 1 :(得分:7)

IndyProject网站上仍然提供Indy 9 samples并包含HTTPServer演示项目。 Indy 10 Demo Playground也可以。

在IdHTTPServer中,Get和Post命令基本上处理相同并在CommandGet事件中处理。