Curl изменяет параметр пути multipart / form-data - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь отправить некоторые данные multipart / form-data с помощью curl в оболочке msys на NAS с именем Synology.Для данных формы требуется параметр с именем «path», который должен быть отформатирован как «/ dir / dir2».Косые черты не могут быть изменены.
Моя проблема в том, что, когда я использую curl, переменная пути будет изменена на "C: / git-sdk-64 / dir / dir2", и я не знаю, как предотвратитьЭто.Моя команда выглядит так:

curl -X POST \
  'http://url:port/webapi/entry.cgi?_sid=secret&api=SYNO.FileStation.Upload&method=upload&version=2' \
  -F "path=/dir/dir2" \
  -F 'overwrite=true' \
  -F 'filename=@/c/Temp/test.txt'

1 Ответ

0 голосов
/ 07 марта 2019

Благодаря информации Даниэля Стенберга я обнаружил, что это "проблема" с msys self. Msys заполняет переменную пути. Записано здесь http://www.mingw.org/wiki/Posix_path_conversion. Решение состоит в том, чтобы поставить точку с запятой в конце пути. Полная команда теперь выглядит так:

curl -X POST \
  'http://url:port/webapi/entry.cgi?_sid=secret&api=SYNO.FileStation.Upload&method=upload&version=2' \
  -F "path=/dir/dir2;" \
  -F 'overwrite=true' \
  -F 'filename=@/c/Temp/test.txt'
...