Windows LinuxでCurlコマンドを使用する場合の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環境で使用する場合、Windowsのcurlは、ダブルクォーテーションを¥もしくは""(ダブルクォーテーション2つ)でエスケープする必要があるそうです。
curl -X POST http://localhost:8080/path/to/api -H "Content-Type: application/json" --data "{¥"name¥":¥"gorou¥"}"
「引用元」
Windowsのcurlエスケープ問題 | gorou style
こちらは完全に自分の備忘録替わりに参考になりました。
実行環境が変わると、うまく動作しないこともあるので、同じようなエラーが実行環境の差異で発生した場合には参考になると思います。
![]() |