【问题标题】:How can I work with AMI via cURL?如何通过 cURL 使用 AMI?
【发布时间】:2016-01-06 03:35:40
【问题描述】:

我有一个星号服务器,在端口 8088 上启用了 AMI Web,前缀为 asterisk。所以我的 rawman 网址是 http://myserver:8088/asterisk/rawman

我刚刚尝试使用 2 个网址登录和 ping
http://myserver:8088/asterisk/rawman?action=login&username=admin&secret=admin
http://myserver:8088/asterisk/rawman?action=ping

当我在网络浏览器中输入上面的 2 个 url 时它可以工作,但当我从终端使用 cURL 时它不会。

来自终端的结果:
curl 'http://myserver:8088/asterisk/rawman?action=login&username=admin&secret=admin'
Response: Success
Message: Authentication accepted

curl 'http://myserver:8088/asterisk/rawman?action=ping'
Response: Error
Message: Permission denied

来自 Asterisk CLI 的错误:(X.X.X.X 是我的 LAN ip 地址)

HTTP Connect attempt from 'X.X.X.X' unable to authenticate

所以我不能像处理 AJAM 时那样执行任何进一步的命令。
如果有人有想法,请帮助我,谢谢。
最好的问候
来当

【问题讨论】:

    标签: linux curl asterisk asteriskami


    【解决方案1】:

    不想回答我自己的问题,但我为其他可能遇到此麻烦的人发布此问题

    简称http://curl.haxx.se/docs/http-cookies.html

    登录时存储cookiejar:

    curl -c ./cookie 文件 -v http://myserver:8088/asterisk/rawman?action=login&username=admin&secret=admin

    通过 ping 或其他命令使用 cookiejar:

    curl -b ./cookie 文件 -v http://myserver:8088/asterisk/rawman?action=ping

    它应该工作。

    李当

    【讨论】:

    • 如果星号返回“无法验证”,就像发生在我身上一样,请在 curl 命令中使用双引号 curl -c ./cookie-file -v "http://myserver:8088/asterisk/rawman?action=login&username=admin&secret=admin"
    【解决方案2】:

    您在浏览器中的第一个请求会通过身份验证过程,Asterisk 会使用您的浏览器保留并在进一步请求中使用的 cookie 进行响应。您应该在 AMI 响应 Set-Cookie 标头中看到它。

    但是,当您使用 cURL 时不会发生这种情况,它不会为您保存 cookie。您应该明确告诉 cURL 在请求中使用 cookie。参考cURL手册了解详情http://curl.haxx.se/docs/http-cookies.html

    您可以使用备用 a* 命令为每个请求提供摘要式身份验证。例如,您的 ping 操作将如下所示:

    curl -v --digest -u admin:admin http://myserver:8088/asterisk/arawman?action=ping
    

    【讨论】:

    • 您快速简便的方法(您的“或”)对我不起作用,但对“http-cookies”的引用可以。非常感谢@Misha
    【解决方案3】:

    curl -c /path/to/cookiefile http://yourhost/ 写入 cookie 文件并启动引擎并使用您可以使用的 cookie

    curl -b /path/to/cookiefile http://yourhost/** 它对我有用

    【讨论】:

    • 欢迎来到stackoverflow。你需要充分解释你的答案。另外请将您的代码格式化为代码it should appear like this
    猜你喜欢
    • 2022-08-18
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2018-11-06
    • 2011-05-07
    相关资源
    最近更新 更多