カールポストデータの二重引用符を正しくエスケープしますか?

カールポストデータの二重引用符を正しくエスケープしますか?

JSONデータをサーバーに送信し、応答を読み取ってサーバーをテストしようとしています。

POST同様のデータが必要ですが、次を{"item":"value with spaces"}使用するとcurlバックスラッシュと二重引用符が送信されることがわかりました。

curl -d "{\"item\":\"value with spaces\"}" http://myserver.com/somerubyapp?get=stuff

サーバーが実際に受け取るものには、"{\"item\":\"value with spaces\"}"文字列の末尾の二重引用符、バックスラッシュ、およびすべてが含まれます。

私は間違って使用しましたかcurl?それともシェルやバッシュに問題があるのでしょうか?

ベストアンサー1

これはポストリリースですが、最近(別のバックエンドを使用して)同じ問題が発生し、原因が誤ったコンテンツタイプであることがわかりました。デフォルトでは「text/plain」または「text/html」です。私の場合、curl -H "Content-Type: application/json" -d ...問題は解決しました。

おすすめ記事