Tasker App:为什么我的 HTTP POST 没有发送参数?

Tasker App: Why my HTTP POST is not sending parameters?

我正在使用 Tasker 应用发出一个简单的 HTTP POST 请求,它工作正常但不知何故它没有发送我的参数。 HTTP GET 工作正常。我做错了什么?

服务器唯一做的就是JSON将所有收到的参数字符串化,return它们像:文本:{ 参数 }

HTTP GET 正在运行:

HTTP POST 有效,它 return 是响应 "text: {}" 但 return 没有任何参数:

现在有时显示"Bad Request Error 400"

我用另一台服务器测试过,这个问题仍然存在...

Here's a fiddle 将 get 和 post 请求发送到同一台服务器并且两者都有效。

我已将我的任务导出为 xml 供您测试:您可以 download it here

提前谢谢大家!

我对您提供的内容做了一些测试。您的 post 参数似乎正在发送到服务器,但 %HTTPR 未被填充。 Tasker 文档说,如果响应为 "text-based",将填充此变量,但情况似乎并非如此。我可能不知道 Tasker 认为 "text-based" 是什么,但我已经尝试了 "text/plain" 和 "text/html",但没有成功。

我想出的解决方法是使用 post 任务的 "Output File" 字段将响应放入文件中。 (将 "Content Type" 留空,否则这将不起作用。)然后您可以将文件读入变量并执行您需要的操作。

这可能是 Tasker 中的一个缺陷、不正确的文档,或者只是对其工作所需条件的误解。然而,这种变通办法将为您提供所需的东西。

这是 link 到 GitHub 存储库的更新任务导出。您可能需要更改输出文件 name/location 以适用于您的设备。


更新: 由于我 post 编辑了上述解决方案,因此我在名为 "RESTask for Tasker" 的 Tasker 插件中 运行。显然,Tasker 对 HTML 请求有足够的问题,需要一个单独的插件。我已经用 POST 测试了这个插件,它确实有效,所以这是另一种方法。该插件可在 Google Play 商店购买。