Curl 调用可以在 cmd 中工作,但不能在 .bat 中工作

Moi*_*sky 1 cmd batch-file pentaho-spoon

以下代码在从 cmd 运行时工作得很好,但在从 Pentaho DI 作为 bat 运行时失败(访问被拒绝)。

curl -k --data "data=username%%3[DUSERNAME]%%26password%%3D[PASSWORD]%%26pid%%3D[1]%%26lid%%3D[2]" https://[...]/export/csv.php -o [...]\output.csv
Run Code Online (Sandbox Code Playgroud)

我应该注意什么具体事项?假设问题出在凭证部分。

Chr*_*n.K 7

问题是这些%<number>部分被解释为批处理文件的参数%1%2...

您可以简单地将所有%字符加倍来转义它们:

curl -k --data "data=username%%%%3[DUSERNAME]%%%%26password%%%%3D[PASSWORD]%%%%26pid%%%%3D[1]%%%%26lid%%%%3D[2]" ...
Run Code Online (Sandbox Code Playgroud)