Apache Nifi:如何传递 post 参数并从 post API 捕获响应 - 传统非休息,非 json API

Apache Nifi : How to pass post params and capture response from post API - traditional non rest, non json API

我正在尝试从 post API 中提取数据,该 post API 需要身份验证和请求参数作为请求 body 的一部分。我猜,他们所做的是从 post 变量访问数据。

到目前为止,我在文档中看到的是如何通过 JSON 或 headers 发送 POST。在我的例子中,没有 headers 只是 post body 参数。

通过 curl --data 选项调用此 api 工作正常。

curl --data "username=xyz&password=xyz&function=xyz" http://example.com/api.php

如何在 nifi 中复制上述调用?

我尝试了多种方法都没有成功。最新的是生成流文件、更新属性(我在其中填写参数)、调用 http 然后调用 putfile。

但我遇到了错误 - api 无法验证我的请求。

谢谢

如果您需要在body中发送以下数据,请将其放入流文件的内容中。

username=xyz&password=xyz&function=xyz

将其放入GenerateFlowFile处理器的Custom Text属性中的最简单方法。

通常对于这种 body 你必须提供内容类型 header:

content-type: application/x-www-form-urlencoded

如果您不需要任何额外的 header,那么您不必定义流文件的任何额外属性。