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

时间:2017-02-17 00:53:56

标签: android ajax xmlhttprequest tasker

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

服务器唯一能做的就是对所有收到的参数进行字符串化并将其返回为:文字:{ 参数 }

HTTP GET正在运行:

enter image description here

HTTP POST有效,它返回响应“text:{}”,但不返回任何参数:

enter image description here

现在有时会显示“Bad Request Error 400”

我已经使用其他服务器对其进行了测试,此问题仍然存在......

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

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

先谢谢你们!

1 个答案:

答案 0 :(得分:0)

我已经对您提供的内容进行了一些测试。您的帖子参数似乎正在向服务器发送,但%HTTPR未填充。 Tasker文档说如果响应是“基于文本的”,将填充此变量,但似乎并非如此。我可能不知道Tasker认为是“基于文本的”,但我尝试过“text / plain”和“text / html”,但没有运气。

我想到的解决方法是使用post任务的“Output File”字段将响应放入文件中。 (将“内容类型”留空或不起作用。)然后,您可以将文件读入变量并执行所需操作。

这可能是Tasker中的缺陷,文档不正确,或者只是误解了使其工作所需的内容。然而,这种解决方法可以满足您的需求。

以下是带有更新任务导出的GitHub存储库的link。您可能需要更改输出文件名/位置以使用您的设备。

<强>更新 自从我发布上述解决方案以来,我遇到了一个名为“RESTask for Tasker”的Tasker插件。显然,Tasker在HTML请求方面存在足够的问题,需要单独的插件。我用POST测试了这个插件,它确实有效,所以这是另一种方法。该插件可在Google Play商店中找到。