Curl的新手,我需要入门的帮助。...
我需要从Win10批处理文件中运行以下Curl脚本,但我想不出如何修改它来克服Windows在命令外壳中不允许使用cr / lf的问题。
有人可以让我知道我需要进行的更改吗?
curl -X POST 'https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations' \
-d 'requestJobDescription={
"type":"file",
"credentials":{
"partnerUserID":"xxxxxxxxxxxxxx",
"partnerUserSecret":"xxxxxxxxxxxxxxxxxx"
},
"onReceive":{
"immediateResponse":["returnRandomFileName"]
},
"inputSettings":{
"type":"combinedReportData",
"filters":{
"reportIDList":"1234567,2233445"
}
},
"outputSettings":{
"fileExtension":"csv"
}
}'
--data-urlencode 'template@expensify_template.ftl'
谢谢
答案 0 :(得分:0)
只需删除结尾的\
并将换行符替换为空格,它应该与cmd / .bat兼容。
curl -X POST 'https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations' -d 'requestJobDescription={ "type":"file", "credentials":{ "partnerUserID":"xxxxxxxxxxxxxx", "partnerUserSecret":"xxxxxxxxxxxxxxxxxx" }, "onReceive":{ "immediateResponse":["returnRandomFileName"] }, "inputSettings":{ "type":"combinedReportData", "filters":{ "reportIDList":"1234567,2233445" } }, "outputSettings":{ "fileExtension":"csv" } }' --data-urlencode 'template@expensify_template.ftl'
嗯,如果您的json恰好包含'
的任何实例(但是您在此处提供的示例不包含),则可能需要在它们之前加上%
(用作转义符) (在cmd / .bat中),如果json数据恰好包含换行符,则该换行符应使用\n
进行json转义,而不是在json数据中包含原义的换行符(我相信json接受换行符和\ n代替换行符,但这是cmd遇到的麻烦)