如何从Win10批处理文件或命令行运行此Curl脚本?

时间:2018-11-12 20:28:00

标签: curl

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'

谢谢

1 个答案:

答案 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遇到的麻烦)