为什么我在使用 curl 发送 ifttt maker web 请求时收到 Bad Request 消息?

Why did I got a Bad Request message when I used curl to send ifttt maker web request?

正如我在标题中提到的。我在 Windows 7 控制台中使用以下命令和 curl 7.51.0,curl 命令 return Bad Requests 消息给我:

curl -X POST -H "Content-Type: application/json" -d '{"value1":"www.google.com"}' https://maker.ifttt.com/trigger/{MyChannel}/with/key/{MyKey}

这很奇怪,因为我在 ubuntu VMware 开发环境 (curl v7.35.0) 中发送了命令,命令回复 OK,IFTTT 操作正常。

此外,我使用 chrome 插件 - Advanced REST client(ARC) 发送 web 请求,它也回复 OK,并且 IFTTT 动作运行良好。

谁能解释一下我的 curl 应用程序出了什么问题?

我自己找到了答案。根据下面的测试结果,如果我将命令更改为:

curl -X POST -H "Content-Type: application/json" -d {\"value1\":\"www.google.com\"} https://maker.ifttt.com/trigger/{MY_EVENT_NAME}/with/key/{MY_SLACK_API_KEY}

然后我会得到 IFTTT 的 OK 回复:

Congratulations! You've fired the {MY_EVENT_NAME} event

如您在修改后的命令中所见,我删除了包含 json 数据的单引号,并在双引号之前添加了一些转义字符(反斜杠字符'\')。