回答:
-X
必要なHTTP動詞でフラグを使用する:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
この例では、-d
フラグを使用してPUTリクエストに引数を提供しています。
GET
リダイレクト後を実現するには、パラメーターを追加します--location
1行で、curlコマンドは次のようになります。
a)フォームデータを送信する場合:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b)rawデータをjsonとして送信する場合:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c)POSTリクエストでファイルを送信する場合:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
ChromeストアのPOSTMANアプリを使用して、同等のcURLリクエストを取得できます。これは、より複雑なリクエストを作成するときに特に役立ちます。
他の形式のリクエストや、Java、PHPなどの別のクライアントの場合は、下記のPOSTMAN /コメントをチェックしてください。
Martin C. Martinのコメントに続くPUTの例:
curl -T filename.txt http://www.example.com/dir/
-T
(同じ--upload-file
)カールがHTTPのPUTを使用します。
-T
は、を使用することはできません。PUTを介してファイルのコンテンツを送信します。リダイレクト後を実現するには、パラメーターを追加します-X PUT
-d
-F
-T
GET
--location
私はこのスレッドに遅れましたが、私にも同様の要件がありました。私のスクリプトはcurlのリクエストを動的に作成していたので、GET、POST、PUT全体で同様のコマンド構造が必要でした。
ここに私のために働くものがあります
以下のためのPUTの要求:
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
以下のためのPOSTリクエスト:
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
以下のためのGETリクエスト:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'