在Delphi 7中处理TIdHTTPServer中的PUT和DELETE请求

野蛮人

是否可以在TIdHTTPServer(Indy 9,Delphi 7)中处理PUT和DELETE请求?

我已经尝试过OnCommandGet,但是它只能处理GET和POST请求。

我也尝试过OnCommandOther事件。它处理PUT和DELETE方法,但无法访问已发送的数据。

我做错了什么?

雷米·勒博

可能吗?是。然而,TIdHTTPServer在印第安纳波利斯9只解析HEADGETPOST请求,并且仅当OnCommandGet事件被分配。如果OnCommandGet未分配事件,或者接收到其他请求,则根本TIdHTTPServer 解析该请求(确定请求类型的第一行除外),OnCommandOther而是触发事件。正如您所注意到的,该事件中没有提供TIdHTTPRequestInfoTIdHTTPResponseInfo参数,因此您必须自己手动读取和解析整个请求,并自己发送适当的回复,并AThread.Connection根据需要使用套接字I / O。阅读RFC 2616以了解HTTP规范。

在Indy 10中对此进行了更改,在该版本中TIdHTTPServer DOES为您处理了所有的解析,答复和套接字I / O,并且所有OnCommand...事件都具有TIdHTTPRequestInfoTIdHTTPResponseInfo参数。

在未来的版本(最有可能直到印11),新的OnCommand...事件将被添加单个请求(OnCommandPutOnCommandDelete,等),因此他们不都通过具有漏斗OnCommandGetOnCommandOther了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Delphi 7中处理TIdHTTPServer中的PUT和DELETE请求

来自分类Dev

无法从delphi中的TIdHTTP连接到TIdHTTPServer

来自分类Dev

无法从delphi中的TIdHTTP连接到TIdHTTPServer

来自分类Dev

如何修复Delphi 7中的EConvertError处理?

来自分类Dev

Delphi 7中的类变量

来自分类Dev

Delphi 7中的ClassInfo函数

来自分类Dev

Delphi TIdTCPServer处理多个请求

来自分类Dev

Delphi TIdTCPServer处理多个请求

来自分类Dev

Delphi:设置TIdHttpServer的连接超时

来自分类Dev

Delphi TIdHTTPServer gradually increase memory

来自分类Dev

Delphi中的Trunc方法

来自分类Dev

在Delphi中取消ProgressDialog

来自分类Dev

Delphi 2010中的SendKeys

来自分类Dev

在delphi中存储过程

来自分类Dev

Delphi中的CreateVertexDeclaration错误

来自分类Dev

Delphi中的静态属性

来自分类Dev

Delphi中的ClientSocket错误

来自分类Dev

在Delphi中旋转图像

来自分类Dev

Delphi中的CreateVertexDeclaration错误

来自分类Dev

在delphi中存储过程

来自分类Dev

在Delphi中拖放文本

来自分类Dev

在Delphi中滚动TMemo

来自分类Dev

在 Delphi 中实现 addDefaultNetworkActiveListener

来自分类Dev

Delphi 中的 AtomicExchange 记录

来自分类Dev

Delphi 7 Exe在非delphi机器中不起作用

来自分类Dev

Delphi 7至Delphi XE5

来自分类Dev

Delphi:使用TidHTTPServer传输文件并监视单个请求的字节发送

来自分类Dev

Delphi RESTClient POST请求

来自分类Dev

卡在Delphi.NET和Delphi 2007中