当前位置: 首页 > news >正文

FreeSWITCH mod_curl 和 mod_xml_rpc 测试

编辑 /usr/local/freeswitch/conf/autoload_configs/xml_rpc.conf.xml

<configuration name="xml_rpc.conf" description="XML RPC">
  <settings>
    <param name="http-port" value="8889"/>
    <param name="commands-to-log" value=".*"/> 
  </settings>
</configuration>

fs_cli -x 'load mod_xml_rpc'

fs_cli -x 'load mod_curl'

fs_cli -x 'curl http://127.0.0.1:8889/xmlapi/status'

哈哈,结果不错


api 要带参数怎么弄?

fs_cli -x 'curl http://127.0.0.1:8889/xmlapi/uuid_kill?735cc8f4-758a-4efd-b110-c0840e721ce8'
-ERR No such channel!

2025-06-13 16:19:35.493126 98.43% [DEBUG] mod_curl.c:209 method: get, url: http://127.0.0.1:8889/xmlapi/uuid_kill?735cc8f4-758a-4efd-b110-c0840e721ce8, content-type: (null)
2025-06-13 16:19:35.513144 98.43% [INFO] mod_xml_rpc.c:1088 Executed HTTP request command: [uuid_kill 735cc8f4-758a-4efd-b110-c0840e721ce8].


带 http 头要怎么弄?

fs_cli -x "curl http://127.0.0.1:8889/xmlapi/uuid_kill?735cc8f4-758a-4efd-b110-c0840e721ce8 append_headers 'k1:v111'  append_headers 'k2:v222'"

抓包, 用 wireshark 看,如下

GET /xmlapi/uuid_kill?735cc8f4-758a-4efd-b110-c0840e721ce8 HTTP/1.1

Host: 127.0.0.1:8889

User-Agent: freeswitch-curl/1.0

Accept: */*

k1:v111

k2:v222


增加 basic 认证

<configuration name="xml_rpc.conf" description="XML RPC">
  <settings>
    <param name="http-port" value="8889"/>
    <param name="auth-realm" value="freeswitch"/>
    <param name="auth-user" value="freeswitch"/>
    <param name="auth-pass" value="works"/>
    <param name="commands-to-log" value=".*"/>
  </settings>
</configuration>

按 mod_curl 文档

fs_cli -x 'curl http://freeswitch:work@127.0.0.1:8889/xmlapi/status'

但实际上,得到 401,不灵

下面是文档片段

If you want to pass basic authentication credentials then do this:

local auth_url = "http://username:password@mysecure_web_service.com"
local response = api:execute("curl", auth_url)

是不是我的做法有问题?


文章转载自:

http://1GF9hNFG.ckdyh.cn
http://V0XOy5m6.ckdyh.cn
http://jEuB9B2S.ckdyh.cn
http://hz2BQ2C6.ckdyh.cn
http://3ZIKYTeT.ckdyh.cn
http://KXFyQegq.ckdyh.cn
http://Fe76PJuO.ckdyh.cn
http://jP3TWmYZ.ckdyh.cn
http://cNNSxm4A.ckdyh.cn
http://pxQW4Sac.ckdyh.cn
http://04sph056.ckdyh.cn
http://o149WVPK.ckdyh.cn
http://Yv0gmIty.ckdyh.cn
http://jeJIRdVf.ckdyh.cn
http://1PGYzb5f.ckdyh.cn
http://bxqE72J5.ckdyh.cn
http://6zJWy4jI.ckdyh.cn
http://9AV09SP9.ckdyh.cn
http://46GcDMDg.ckdyh.cn
http://IaGPlULn.ckdyh.cn
http://Y0RYMtXw.ckdyh.cn
http://l0VJu9jj.ckdyh.cn
http://9w5ApL5Y.ckdyh.cn
http://BIBFtZ8Y.ckdyh.cn
http://PfbBAHbZ.ckdyh.cn
http://mO2xZdYk.ckdyh.cn
http://dygMSyn3.ckdyh.cn
http://zlHmlCFv.ckdyh.cn
http://ai71Qqsx.ckdyh.cn
http://zQI7E46a.ckdyh.cn
http://www.dtcms.com/a/248177.html

相关文章:

  • Transformer 核心概念转化为夏日生活类比
  • 基于用户的协同过滤推荐算法实现(Java电商平台)
  • 基于物品的协同过滤推荐算法实现(Java电商平台)
  • visual studio小番茄插件某些快捷键失效
  • SQL Server 修改数据库名及物理数据文件名
  • OpenCV CUDA模块图像变形------对图像进行旋转操作函数rotate()
  • Axios面试常见问题详解
  • 线性回归原理推导与应用(九):逻辑回归多分类问题的原理与推导
  • AI 重构的陷阱:如何避免旧项目越改越烂?
  • 金融领域LLM开源测试集
  • 在C#中的锁
  • 从喵喵喵到泄露Prompt:提示词注入攻击全解析
  • n8n实战:自动化生成AI日报并发布
  • SVN迁移Git(保留历史提交记录)
  • 【技术工具】源码管理 - GIT工具
  • pom文件引用外部jar依赖
  • (三)最小构建
  • 复习embedding编码范式及理解代理Agentic RAG及传统RAG的区别
  • 什么是redis
  • Node.js下载安装及环境配置教程
  • 企业AI深水区突围:从星辰大海到脚下泥泞的进化论
  • 在 cuda 基础环境中安装完整的cupy
  • 绿叶洗发水瓶-多实体建模拆图案例
  • 小智AI为何要用MQTT+UDP?怎么接入MQTT?
  • 论文阅读:arxiv 2025 How Likely Do LLMs with CoT Mimic Human Reasoning?
  • Github指南-Add .gitignore和Choose a license
  • 深度分页优化
  • 《TCP/IP 详解 卷1:协议》第7章:防火墙和网络地址转换
  • SQL进阶之旅 Day 30:SQL性能调优实战案例
  • 大模型及agent开发1——基础知识及实现具备Funcation Calling功能的智能电商客服