CURL命令行URL参数
我想用CURL发送一个带有url参数的DELETE
请求。 我在做:
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
,它的工作原理。 我真的宁愿使用CURL而不是这个GUI应用程序。 任何人都可以指出我做错了什么?
“application / x-www-form-urlencoded”标题,为什么? 试试看:
curl -X DELETE 'http://localhost:5000/locations?id=3'
要么
curl -X GET 'http://localhost:5000/locations?id=3'
Felipsmartins是正确的。
值得一提的是,这是因为如果这不是POST请求,你不能真正使用-d / – 数据选项。 但是如果使用-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让你一行一行。 (只是说)
希望能帮助到你。
如果你的参数是一个数字,那么你也可以这样做:
curl -X DELETE localhost:5000/locations/3
“ 3
”是你的参数 。