2017-07-26 1 views
0

Le code suivant fonctionne parfaitement bien lorsqu'il est exécuté à partir de cmd, mais il échoue (accès refusé) lorsqu'il est exécuté comme chauve-souris de Pentaho DI.Curl appel fonctionnant en cmd mais pas en .bat

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

Quelque chose de spécifique que je devrais savoir? En supposant que le problème réside dans la partie des informations d'identification.

Répondre

1

J'ai réussi à le réparer en créant un fichier .bat externe et en l'appelant avec la fonction Shell de Pentaho. Auparavant, je mettais en œuvre le code à l'intérieur de Pentaho (il crée ensuite le fichier temp .bat à l'exécution).

0

Le problème est que les %<number> parties sont interprétées comme les arguments au fichier batch %1, %2 ...

Vous pouvez simplement double tous les personnages % pour leur échapper:

curl -k --data "data=username%%%%3[DUSERNAME]%%%%26password%%%%3D[PASSWORD]%%%%26pid%%%%3D[1]%%%%26lid%%%%3D[2]" ...