web-dev-qa-db-ja.com

CurlでPUTリクエストをするにはどうすればいいですか?

Curlを使ってRESTful PUT(またはDELETE)メソッドをテストするにはどうすればいいですか?

356
John

必要なHTTP動詞に-Xフラグを使用します。

curl -X PUT -d arg=val -d arg2=val2 localhost:8080

この例では、PUTリクエストで引数を提供するために-dフラグも使用します。

505
theabraham

Chrome Storeから_ postman _アプリを使用できます。

単一行では、curlコマンドは次のようになります。

a)フォームデータを送信する場合

curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"

b)生データを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'

他のフォーマットのリクエストやJava、PHPのような異なるクライアントのために、あなたは以下のPOSTMAN /コメントをチェックすることができます。

POSTMAN to get the request code

82
Prateek

Martin C. Martinのコメントに続くPUTの例:

curl -T filename.txt http://www.example.com/dir/

-T--upload-fileと同じ)を指定した場合、curlはHTTPにPUTを使用します。

23
Tor Klingberg
curl -X PUT -d 'new_value' URL_PATH/key

どこで、

X - 要求コマンドに使用されるオプション

d - リモートURLにデータを置くために使用されるオプション

URL_PATH - リモートURL

new_value - サーバのキーに設定したい値

6

私はこのスレッドに遅れていますが、私も同様の要件を抱えていました。私のスクリプトはcurlのリクエストを動的に構築していたので、GET、POST、そしてPUTに渡って同様のコマンド構造を望んでいました。

これは私のために働くものです

_ put _ / requestの場合:

curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'

_ post _ / requestの場合:

curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'

_ get _ / requestの場合:

curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'
1
sunitkatkar