首页 > 解决方案 > 如何从 Win10 批处理文件或命令行运行此 Curl 脚本?

问题描述

刚接触 Curl,我需要帮助开始......

我需要从 Win10 批处理文件运行以下 Curl 脚本,但我不知道如何修改它以克服 Windows 在命令 shell 中不允许 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'

谢谢

标签: curl

解决方案


只需删除尾随\的 's 并用空格替换换行符,它应该与 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 数据发生要包含换行符,该换行符应该是 json 转义的,\n而不是在 json 数据中包含文字换行符(我相信 json 接受换行符和 \n 代替换行符,但这会给 cmd 带来麻烦)


推荐阅读