【发布时间】:2021-04-24 19:10:10
【问题描述】:
我有一个 ASP.NET MVC Web API,我需要使用 Delphi 6 调用它。我正在尝试使用 Indy 组件(版本 9.0.18),我正在使用 TIdHttp 组件。
我正在使用 REST 方法,例如 POST 来添加、PUT 来更新和 DELETE 来删除记录。我成功地添加、更新和获取我的记录,但我无法成功调用 DELETE 方法。它会引发错误“HTTP/1.1 400 Bad Request”。
我尝试调试 Web API,但显示请求没有到来,因为它没有在断点处停止。
我使用的Indy版本没有DELETE方法,所以我尝试使用DoRequest方法。
我的代码:
IdHTTP.DoRequest(hmDelete, 'http://localhost/myapp/api/user/1', nil, nil);
如果我使用 Fiddler 发出请求,它可以工作,所以我的 Web API 运行良好。
【问题讨论】:
-
听起来你需要做一些调试。我会使用像 Wireshark 这样的工具来检查请求。您对 Stack Overflow 有什么疑问?
-
如果我找到检查请求的方法将帮助我理解问题。我将尝试使用 Wireshark。但我的问题是如何使用 Indy 组件发出 DELETE 请求。有人已经这样做了吗?
-
问题是我需要在Delphi和Indy上使用旧版本,无法更新。我知道较新的版本对发出 REST 请求有更好的支持。
-
新的 Indy 版本可以与 Delphi 6(和 5)一起使用
-
您可以使用 Wireshark 或 Fiddler 将有效的删除请求与无效的删除请求进行比较以找出差异
标签: rest delphi asp.net-web-api