http://localhost:8080
コマンドラインから cURL を使用してXML ファイルをローカル サーバーに POST するにはどうすればよいですか?
どのようなコマンドを使用すればよいですか?
ベストアンサー1
その質問が他の Hudson の質問に関連している場合は、それらが提供するコマンドを使用します。コマンド ラインから XML を使用する方法は次の通りです。
$ curl -X POST -d '<run>...</run>' \
http://user:pass@myhost:myport/path/of/url
ファイルから読み取るには、少し変更する必要があります。
$ curl -X POST -d @myfilename http://user:pass@myhost:myport/path/of/url
読むマニュアルページ. -d パラメータの概要に続きます。
-d/--データ
(HTTP) ユーザーが HTML フォームに入力して送信ボタンを押したときにブラウザが行うのと同じ方法で、指定されたデータを POST リクエストで HTTP サーバーに送信します。これにより、curl はコンテンツ タイプ application/x-www-form-urlencoded を使用してデータをサーバーに渡します。-F/--form と比較してください。
-d/--data は --data-ascii と同じです。純粋にバイナリのデータを投稿するには、代わりに --data-binary オプションを使用する必要があります。フォーム フィールドの値を URL エンコードするには、--data-urlencode を使用できます。
これらのオプションのいずれかが同じコマンドラインで複数回使用される場合、指定されたデータ部分は区切り記号 & で結合されます。したがって、「-d name=daniel -d skill=lousy」を使用すると、「name=daniel&skill=lousy」のような投稿チャンクが生成されます。
データを文字 @ で始める場合、残りはデータを読み取るファイル名にするか、curl に標準入力からデータを読み取らせたい場合は - にします。ファイルの内容は URL エンコードされている必要があります。複数のファイルを指定することもできます。したがって、'foobar' という名前のファイルからデータを投稿するには、--data @foobar を使用します。