jro*_*jro 20 authentication post curl
我正在使用API,我必须发送POST请求.我知道如何设置标题(-H)和(-d)是正文,但是什么是"--user".
如果我用Postman提交,或者在带有axios的文本编辑器中提交,或者只是常规的XMLRequest,我在哪里添加它?
文档说它适用于常规的http身份验证.
curl -X POST -H "Content-Type: application/json" \
--user "<client_id>:<client_secret>" \
-d '{"grant_type": "client_credentials", "scope": "public"}' \
...
Run Code Online (Sandbox Code Playgroud)
Jah*_*mic 63
聚会迟到了,但这里是...
您可以使用带有-v(verbose) 参数的curl来查看发送的标头。然后您将看到 --user 提供的信息被转换为标题,例如:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
Run Code Online (Sandbox Code Playgroud)
Basic关键字后面的文本是--user参数提供的username:password组合的base64编码文本字符串
要在 Linux 上手动生成 base64 编码的凭据,您只需调用:
echo -n "username:password" | base64 -w0
Run Code Online (Sandbox Code Playgroud)
对于 Windows,将“用户名:密码”保存到一个文件中,然后使用 certutil.exe 创建一个 base64 编码文件:
certutil -encode credentials.txt credentials.asc
Run Code Online (Sandbox Code Playgroud)
要测试端到端,您可以删除--user username:password并替换为--header Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l,它仍然可以很好地进行身份验证。
总之,要在没有 curl 的情况下手动执行此操作,您需要进行 base64 编码username:password组合。然后,您需要Authorization使用类型Basic以及 base64 编码字符串来设置 HTTP标头。
小智 14
--user (或者 -ucurl 中的) 为您的请求提供基本身份验证。
在 Postman 中,您可以通过在 Authorization 选项卡中进行选择来获得相同的结果。
--user "<client_id>:<client_secret>" 变成
小智 11
--usercurl中用于服务器身份验证的参数.因此,如果您不通过--digest或--negotiate等其他参数定义身份验证类型,则表示用于http基本身份验证的USER参数,它也可以与:PASSWORD chunk结合使用以设置密码.您的问题的完整答案取决于您发送请求的API背后使用何种类型的身份验证,并且可能卷曲不够,因为它支持一组有限的身份验证方案...
| 归档时间: |
|
| 查看次数: |
25269 次 |
| 最近记录: |