如何更改cURL调用以识别多个参数?

时间:2017-06-08 11:48:21

标签: rest curl oauth call

我想进行以下curl调用以获取访问令牌:

curl -k -XPOST --user "{user}" {url}/access_token -d 'grant_type=authorization_code&code={code}&redirect_uri={uri}' 

但是,我收到以下错误声明:

'code' is not recognized as ane internal or external command, operable program or batch file.
'redirect_uri' is not recognized as ane internal or external command, operable program or batch file.

当我检查跟踪时,我发现主体只包含这个:'grant_type=authorization_code

我该怎么做才能确保所有参数都通过?

2 个答案:

答案 0 :(得分:2)

curl -X "POST" "{url}/access_token" \
 --user "{user}" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 --data-urlencode "code={code}" \
 --data-urlencode "redirect_uri={uri}" \
 --data-urlencode "grant_type=authorization_code"

我希望这会有所帮助

答案 1 :(得分:1)

似乎& -character被解释为"作为后台作业执行"。尝试使用反斜杠转义每个& -character,例如\&

或者,您可以将内容写入文件,并通过参数-d @file引用此文件 @ -character对curl来说非常重要,因为知道文件是文件名。