WINDOWS RESTfulサービスでのcURL POSTコマンドライン
質問
私の問題です。 私のPOSTリクエストと一緒にいくつかのデータを送信している間、私のローカルホストサーバーをcurlするコマンドラインツールを使用すると、動作していない。
何がエラーを引き起こしているようです。 次のようなことを想像してみてください。
-
curl -i -X POST -H 'Content-Type: application/json' -d '{"data1": "data goes here", "data2": "data2 goes here"}' http:localhost/path/to/api
返送データの結果
curl: (6) Could not resolve host: application; No data record of requested type
curl: (6) Could not resolve host: data goes here,; No data record of requested type
curl: (6) Could not resolve host: data2; No data record of requested type
curl: (3) [globbing] unmatched close brace/bracket at pos 16
いくつか検索した結果、UNIXシェルで動作するため、リクエストに使用されるsintaxに問題があるわけではないことがわかりました。
もしかして、Windowsをお使いですか?それは完全に壊れたシェルのように見えますが シングルクォートとダブルクォートを正しく扱えません。 私はそのコマンドラインを試しましたが、私のリナックスボックスでは問題なく動作しました。 http://curl.haxx.se/mail/archive-2011-03/0066.html
私はそれらの"エスケープit \" で回避しようとしましたが、それはまだ動作しませんでした。
2.
curl -i -X POST -H 'Content-Type: application/json' -d '{ \"data1}"data1}": \"data goes here", \"data2": \"data2 goes here"}' http: //localhost/path/to/api
3.
<ブロッククオートcurl -i -X POST -H 'Content-Type: application/json' -d '{ \"data1}"data1}": \"data goes here", \"data2": \"data2 goes here"}' http: //localhost/path/to/api
というわけで、あきらめました。 WindowsはPOSTで送信されたJSONオブジェクトを混乱させるようです。
どのように解決するのですか?
私は win7 x64 ラップトップで同じ問題に遭遇し、次のようなラベルの付いた curl リリースを使用して動作させることができました。 Win64 - 一般的な SSL というラベルの付いた curl リリースを使用して、非常によく似たコマンド ライン フォーマットを使用して動作させることができました。
C:\Projects\curl-7.23.1-win64-ssl-sspi>curl -H "Content-Type: application/json" -X POST http://localhost/someapi -d "{\"Name\":\"Test Value\"}"
2番目のエスケープバージョンとの違いは、エスケープされたものとヘッダーパラメータの値をダブルクォートで囲んでいることだけです。間違いなく、Linuxのシェル構文をより好みます。
関連
-
Win10ショートカットキーBOOK(史上最強の完成度)
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] Windowsのコマンドラインからアプリケーションの終了コードを取得するにはどうすればよいですか?
-
[解決済み] 行末を保持する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Content-Type ヘッダー [application/x-www-form-urlencoded] はサポートされていません [重複] 。
-
[解決済み] cygwinにcURLをインストールするにはどうしたらいいですか?
-
[解決済み] PowerShell 3用ファイル拡張子
-
[解決済み] git が case の変更を無視するようにするには?
-
[解決済み] Windows の 'tail' コマンドに相当するもの [重複]。
-
[解決済み] コマンドラインでXLSからCSVに変換する
-
[解決済み] IF... OR IF...をWindowsのバッチファイル内で実行する
-
[解決済み] Windowsバッチスクリプトによるプログラムの起動とコンソールの終了
-
[解決済み] Windows コマンドプロンプトでの角括弧のエスケープ
-
[解決済み] GNU MakeをWindowsで使うには?