A Micro Toolbox

ソフトウェアのニッチな問題の対処記録です

MSYS上のcurlで/から始まる値をPOSTする

Git for Windowsbashcurlを使うときに、フォームパラメータの値が「/」から始まると補完されたパスがサーバに送られる。

 

例えば、次のようにすると、

$ curl -F'param1=/path/to/file' http://localhost:8000/

サーバ側には

param1=C:/tools/console/Git/path/to/file

が送られる。

 

調べたら、MSYSがパスの変換をしていた。

http://www.mingw.org/wiki/Posix_path_conversion

 

値の末尾に「;」をつければ

$ curl -F'param1=/path/to/file;' http://localhost:8000/

変換されずに

param1=/path/to/file

が送られる。

 

2021-01-03 追記

環境変数で変換を止める設定ができた。

$ export MSYS2_ARG_CONV_EXCL="*"

https://www.msys2.org/docs/filesystem-paths/