236

DELETECURL を使用して url パラメーターを指定してリクエストを送信しようとしています。私がやっている:

curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'

ただし、サーバーはパラメーター id = 3 を認識していません。いくつかの GUI アプリケーションを使用してみましたが、URL を次のように渡すhttp://localhost:5000/locations?id=3と動作します。この GUI アプリケーションではなく、CURL を使用したいと思います。誰かが私が間違っていることを指摘できますか?

4

2 に答える 2

344

application/x-www-form-urlencodedContent-type ヘッダーは必要ありません (ちょっと依存します) 。リクエスト ハンドラーがフォーム ボディからのパラメーターを想定している場合を除きます。やってみて:

curl -X DELETE "http://localhost:5000/locations?id=3"

また

curl -X GET "http://localhost:5000/locations?id=3"
于 2012-11-14T00:41:01.620 に答える
201

Felipsmartins は正しいです。

これが POST 要求でない場合、実際には -d/--data オプションを使用できないためです。ただし、-G オプションを使用すると、これは可能です。

つまり、これを行うことができます:

curl -X DELETE -G 'http://localhost:5000/locations' -d 'id=3'

ここでは少しばかげていますが、コマンド ラインを使用していて多くのパラメーターがある場合は、はるかに整頓されています。

私がこれを言っているのは、cURL コマンドは通常非常に長いため、改行をエスケープして複数の行にする価値があるからです。

curl -X DELETE -G \
'http://localhost:5000/locations' \
-d id=3 \
-d name=Mario \
-d surname=Bros

zsh を使用する場合、これは明らかにより快適です。zsh では行ごとに移動できるため、前のコマンドを再編集する必要がある場合を意味します。(ただ言って)

それが役に立てば幸い。

于 2013-01-11T18:34:39.790 に答える