Windows LinuxでCurlコマンドを使用する場合のdataオプションの違いでUnexpected characterエラー

Windows LinuxCurlコマンドを使用する場合のdataオプションの違いでUnexpected characterエラーが発生する事象がありました。

 

curlコマンドはLinuxではよく使いますが、Windowsでも使えるようになっていて便利ではあるものの、そのまま使えないことがあります。

 

ちょうど参考にしていた情報があったのですが、こちらはLinuxで実行したく、とても参考になったサイトがありました。

 

Mac環境ということで、Linuxの環境でもこちらの情報が参考になりました。

 

curl -X POST http://localhost:8080/path/to/api -H 'Content-Type: application/json' --data '{"name":"gorou"}'

 

 

続いて、さらに勉強になったのが、Windows環境で使用する場合、Windowscurlは、ダブルクォーテーションを¥もしくは""(ダブルクォーテーション2つ)でエスケープする必要があるそうです。

 

curl -X POST http://localhost:8080/path/to/api -H "Content-Type: application/json" --data "{¥"name¥":¥"gorou¥"}"

 

「引用元」

Windowsのcurlエスケープ問題 | gorou style

 

こちらは完全に自分の備忘録替わりに参考になりました。

 

実行環境が変わると、うまく動作しないこともあるので、同じようなエラーが実行環境の差異で発生した場合には参考になると思います。

 

イヤホン 有線 3.5mm マイク付き ノイズキャンセリング 遮断 HIFI音質 音量調整 重低音 勉強 仕事 通勤通学最適 Android/PC/テレワーク/在宅勤務/会議/Switch/PS4/ZOOM/YouTube/ウォークマン/iPhone(Lightning 3.5mmヘッドフォンジャック必要)柔軟性高 超軽量 イヤホン ブラック