507

cURLを使用してRESTfulPUT(またはDELETE)メソッドをテストするにはどうすればよいですか?

4

5 に答える 5

657

-X必要なHTTP動詞でフラグを使用する:

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

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

于 2012-12-08T21:40:10.497 に答える
169

素早い回答:

1行で、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'

代替ソリューション:

ChromeストアのPOSTMANアプリを使用して、同等のcURLリクエストを取得できます。これは、より複雑なリクエストを作成する場合に特に便利です。

他の形式のリクエスト、またはjava、PHPなどのさまざまなクライアントのリクエストについては、以下のPOSTMAN/コメントを確認してください。

リクエストコードを取得するPOSTMAN

于 2015-10-27T04:33:10.953 に答える
35

マーティンC.マーティンのコメントに続くPUTの例:

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

(と-T同じ--upload-file)を使用すると、curlはHTTPにPUTを使用します。

于 2015-10-14T13:02:29.920 に答える
9
curl -X PUT -d 'new_value' URL_PATH/key

どこ、

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

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

URL_PATH-リモートURL

new_value-サーバーのキーに設定する値

于 2016-09-22T10:17:16.830 に答える
7

私はこのスレッドに遅れていますが、私にも同様の要件がありました。私のスクリプトは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'
于 2019-02-05T18:00:02.183 に答える