同胞stackoverflowers:
我来这里是带着一个到目前为止我自己无法解决的问题。
我希望能够将数组中的数据传递到我的 Asterisk PBX 拨号计划中的 AGI 脚本,该拨号计划的格式如下:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param1=value1¶m2=value2...¶mN=valueN)
但是其中一个参数必须像接收 CGI 脚本中的 URL 参数一样接收数组数据,例如:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param_array=value1,value2,value3...,valueN)
我知道 AGI 脚本能够接收数组作为参数,但是 URL 形式的 AGI 脚本的可用文档并没有说明如何接收数组数据作为脚本参数;这就是为什么我在这里发布这个问题。
我已经尝试通过以下方式传递数据(结果不成功):
逗号分隔:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param_array=array_value1,array_value2...,array_valueN)
管道分离:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param_array=array_value1|array_value2...|array_valueN)
分号分隔:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param_array=array_value1;array_value2...;array_valueN)
但到目前为止,我只成功通过以下方式传递数组数据:
exten => some_exten,priority,AGI(agi:hostname:port/agi_script.agi?param_array=array_value1¶m_array=array_value2...¶m_array=array_valueN)
根据我的阅读,这不是将参数传递给 URL 的正确方法,这是我用来将数据传递给我的 AGI 脚本的方式。
如果有人能对此事有所了解,我将不胜感激,因为我真的不想像迄今为止所做的那样单独传递每个数组项。