如何将“%20”作为字符串放入 curl 数据中?

How do I put "%20" as a string in curl data?

我试图将 "%20" 置于 bash 日期格式中,而不对其进行解释。我在 curl 请求中使用日期字符串作为参数。
这是我调用 api 的方法,其参数包括一个格式为 space (YYYY-MM-DD HH:MM:SS).
的日期字符串 api 的文档给出了一个示例 "date=2014-04-30%2002:18:36".
但是公司网页版api显示"date=2014-04-30+02%3A18%3A36".

我已经在我的 shell 脚本中尝试了 date=$(date +%Y-%m-%d%%20%H:%M:%S),它确实产生了 2016-12-19%2016:03:26,但仍然无法正常工作。
我也试过 curl --data-urlencode 但没有成功。

我的方法完全错误吗?

更新以获取更多信息: 我已经尝试 date=$(date +%Y-%m-%d+%H%%3A%M%%3A%S),这给了我 2016-12-19+16%3A17%3A41。但是返回的数据还是不准确
网站上的版本接受"2016-12-12 00:00:00",我能够得到准确的数据。

一个版本将其放入 shell 变量然后卷曲:

#!/bin/bash
output=$(date "+%Y-%m-%d %H:%M:%S" | sed 's/ /%20/g')
curl -d date=$output http://example.com

一种让 curl 自己进行 URL 编码的方法:

curl --data-urlencode date=$(date "+%Y-%m-%d %H:%M:%S") http://example.com