curl 更改 multipart/form-data 路径参数
Posted
技术标签:
【中文标题】curl 更改 multipart/form-data 路径参数【英文标题】:Curl changes multipart/form-data path parameter 【发布时间】:2019-03-07 12:16:33 【问题描述】:我尝试在 msys shell 中使用 curl 将一些 multipart/form-data 数据发送到名为 Synology 的 NAS。 form-data 需要一个名为“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'
【问题讨论】:
curl 不会改变路径,其他东西会这样做。您可能在使用 msys 吗?众所周知,在尝试“乐于助人”时会做这些事情。 好的。这是我可以开始的一些好信息。我是这个 bash 和 shell 世界的新手。我必须使用 msys。没有其他我可以使用的。 另见***.com/questions/44700461/… 【参考方案1】:感谢Daniel Stenberg's 信息,我发现这是 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'
【讨论】:
以上是关于curl 更改 multipart/form-data 路径参数的主要内容,如果未能解决你的问题,请参考以下文章