我已经为 Windows 安装了 cURL 命令行。
现在我想将此 cURL 用于 REST api (redmine)。
我想创建的最基本的脚本是推送一个新的“过去”。但问题是,过去可以包含多行文本。
为了创造一个新的过去,我使用:
curl -k -s -H "X-Redmine-API-Key: %API_KEY%" --data-urlencode "paste[text]=%TEXT%" %URL%
但问题是当 %TEXT% 由多行组成时,windows cmd 失败。
前任:
curl -k -s -H "X-Redmine-API-Key: XXXXXX" --data-urlencode "paste[text]=ST_METHOD_POST', 'POST', true);
define('HTTP_REQUEST_METHOD_PUT', 'PUT', true);
define('HTTP_REQUEST_METHOD_DELETE', 'DELETE', true);" "https://etc"
并且 cmd 在第一个换行符之后停止......
我尝试在运行 cmd 之前解析 TEXT,方法是在行尾添加 ^ 以模拟多行 win cmd 但不起作用...
更新1:
我试试
curl -k -s -H "X-Redmine-API-Key: %API_KEY%" --data-urlencode "paste[text]@tmp.txt" %URL%
其中 tmp.txt 等于
hello world
但请求被转换为
{"paste":{"id":xxx,"author_id":xxx,"project_id":xxx,"title":"Paste #xxx","text":"
■h\u0000e\u0000l\u0000l\u0000o\u0000 \u0000w\u0000o\u0000r\u0000l\u0000d\u0000",
"created_on":"2012-11-26T09:24:15Z","updated_on":"2012-11-26T09:24:15Z"}}
最后的结果不起作用